diff --git a/alfa-client/apps/demo/src/app/app.component.html b/alfa-client/apps/demo/src/app/app.component.html
index 565c0a88d7a50f29b572e8ed01c043b10b3856f9..4af108d3a30d494bf7837a9e4329bce3e4c901b1 100644
--- a/alfa-client/apps/demo/src/app/app.component.html
+++ b/alfa-client/apps/demo/src/app/app.component.html
@@ -504,7 +504,7 @@
             <ods-stamp-icon />
           </ods-radio-button-card>
           <ods-radio-button-card label="abgelehnt" name="exampleName" value="abgelehnt" variant="bescheid_abgelehnt">
-            <ods-close-icon class="fill-abgelehnt" size="large" />
+            <ods-icon name="close" color="abgelehnt" size="large" />
           </ods-radio-button-card>
         </div>
       </form>
diff --git a/alfa-client/apps/demo/src/app/app.component.ts b/alfa-client/apps/demo/src/app/app.component.ts
index 26f9bee0fd4315e1a929f01aed741754ba3d4ff5..6c8542f5fc0ffeed92ae24d1d895febed52b341d 100644
--- a/alfa-client/apps/demo/src/app/app.component.ts
+++ b/alfa-client/apps/demo/src/app/app.component.ts
@@ -32,7 +32,6 @@ import {
   ButtonCardComponent,
   ButtonComponent,
   CheckboxComponent,
-  CloseIconComponent,
   ErrorMessageComponent,
   FieldsetComponent,
   FileUploadButtonComponent,
@@ -78,7 +77,6 @@ import { CustomStepperComponent } from './components/cdk-demo/custom-stepper.com
     SaveIconComponent,
     SendIconComponent,
     StampIconComponent,
-    CloseIconComponent,
     SpinnerIconComponent,
     TextareaComponent,
     TextInputComponent,
diff --git a/alfa-client/libs/admin/shared/src/lib/admin-cancel-button/admin-cancel-button.component.html b/alfa-client/libs/admin/shared/src/lib/admin-cancel-button/admin-cancel-button.component.html
index 3125fbdfd9242e48e3a30a5891e445bb6d8b8498..4962fe8d2bfc58554a24110bfedb881089cfb684 100644
--- a/alfa-client/libs/admin/shared/src/lib/admin-cancel-button/admin-cancel-button.component.html
+++ b/alfa-client/libs/admin/shared/src/lib/admin-cancel-button/admin-cancel-button.component.html
@@ -1,3 +1,3 @@
 <ods-routing-button [linkPath]="linkPath" text="Abbrechen" variant="outline" dataTestId="cancel-button">
-  <ods-close-icon icon class="fill-primary" />
+  <ods-icon icon name="close" />
 </ods-routing-button>
diff --git a/alfa-client/libs/admin/shared/src/lib/admin-cancel-button/admin-cancel-button.component.spec.ts b/alfa-client/libs/admin/shared/src/lib/admin-cancel-button/admin-cancel-button.component.spec.ts
index 253650b230fb8be30ddb854fe3ad62351b058e5b..e7f199865eb0d4fa0ba4e02147cf430495562ae6 100644
--- a/alfa-client/libs/admin/shared/src/lib/admin-cancel-button/admin-cancel-button.component.spec.ts
+++ b/alfa-client/libs/admin/shared/src/lib/admin-cancel-button/admin-cancel-button.component.spec.ts
@@ -2,7 +2,7 @@ import { AdminCancelButtonComponent } from '@admin-client/shared';
 import { getMockComponent } from '@alfa-client/test-utils';
 import { ComponentFixture, TestBed } from '@angular/core/testing';
 import { RoutingButtonComponent } from '@ods/component';
-import { CloseIconComponent } from '@ods/system';
+import { IconComponent } from '@ods/system';
 import { MockComponent } from 'ng-mocks';
 
 describe('AdminCancelButtonComponent', () => {
@@ -12,7 +12,7 @@ describe('AdminCancelButtonComponent', () => {
   beforeEach(async () => {
     await TestBed.configureTestingModule({
       imports: [AdminCancelButtonComponent],
-      declarations: [MockComponent(RoutingButtonComponent), MockComponent(CloseIconComponent)],
+      declarations: [MockComponent(RoutingButtonComponent), MockComponent(IconComponent)],
     }).compileComponents();
 
     fixture = TestBed.createComponent(AdminCancelButtonComponent);
diff --git a/alfa-client/libs/admin/shared/src/lib/admin-cancel-button/admin-cancel-button.component.ts b/alfa-client/libs/admin/shared/src/lib/admin-cancel-button/admin-cancel-button.component.ts
index 8c284f05c61e3d545025c8447d4d302a0fc3db85..ab9eb2dbcdb57c67f71948a8d389cf294d5c08d8 100644
--- a/alfa-client/libs/admin/shared/src/lib/admin-cancel-button/admin-cancel-button.component.ts
+++ b/alfa-client/libs/admin/shared/src/lib/admin-cancel-button/admin-cancel-button.component.ts
@@ -1,13 +1,13 @@
 import { CommonModule } from '@angular/common';
 import { Component, Input } from '@angular/core';
 import { RoutingButtonComponent } from '@ods/component';
-import { CloseIconComponent } from '@ods/system';
+import { IconComponent } from '@ods/system';
 
 @Component({
   selector: 'admin-cancel-button',
   templateUrl: './admin-cancel-button.component.html',
   standalone: true,
-  imports: [CommonModule, RoutingButtonComponent, CloseIconComponent],
+  imports: [CommonModule, RoutingButtonComponent, IconComponent],
 })
 export class AdminCancelButtonComponent {
   @Input() linkPath: string;
diff --git a/alfa-client/libs/admin/user/src/lib/user-form/user-form-delete-dialog-container/user-delete-dialog-container.component.spec.ts b/alfa-client/libs/admin/user/src/lib/user-form/user-form-delete-dialog-container/user-delete-dialog-container.component.spec.ts
index 474c396b29e6f618186fafc524113a0a19c18097..3862816f4cb820a9fd59805d9ad17386d12dd002 100644
--- a/alfa-client/libs/admin/user/src/lib/user-form/user-form-delete-dialog-container/user-delete-dialog-container.component.spec.ts
+++ b/alfa-client/libs/admin/user/src/lib/user-form/user-form-delete-dialog-container/user-delete-dialog-container.component.spec.ts
@@ -5,6 +5,7 @@ import { createEmptyStateResource, StateResource } from '@alfa-client/tech-share
 import { dispatchEventFromFixture, getMockComponent, Mock, mock } from '@alfa-client/test-utils';
 import { ComponentFixture, TestBed } from '@angular/core/testing';
 import { faker } from '@faker-js/faker/locale/de';
+import { MockComponent } from 'ng-mocks';
 import { Observable, of } from 'rxjs';
 import { getDataTestIdOf } from '../../../../../../tech-shared/test/data-test';
 import { singleColdCompleted } from '../../../../../../tech-shared/test/marbles';
@@ -34,7 +35,7 @@ describe('UserDeleteDialogContainerComponent', () => {
     } as any;
 
     await TestBed.configureTestingModule({
-      imports: [UserDeleteDialogContainerComponent, UserDeleteDialogComponent],
+      imports: [UserDeleteDialogContainerComponent, MockComponent(UserDeleteDialogComponent)],
       providers: [
         { provide: UserFormService, useValue: formService },
         { provide: UserService, useValue: userService },
diff --git a/alfa-client/libs/bescheid/src/lib/bescheid-wizard-container/bescheid-wizard-container.component.html b/alfa-client/libs/bescheid/src/lib/bescheid-wizard-container/bescheid-wizard-container.component.html
index d63d7046e6e03287fae28cd1e019ff1fe55ce0f6..649d125a517f2f6c1c9c29132e4448fec82f9015 100644
--- a/alfa-client/libs/bescheid/src/lib/bescheid-wizard-container/bescheid-wizard-container.component.html
+++ b/alfa-client/libs/bescheid/src/lib/bescheid-wizard-container/bescheid-wizard-container.component.html
@@ -37,7 +37,7 @@
           (clickEmitter)="cancelWizard(bescheidStateResource.resource)"
           dataTestId="close-bescheid"
         >
-          <ods-close-icon icon />
+          <ods-icon icon name="close" color="text" />
         </ods-button>
         <alfa-bescheid-wizard
           [vorgangWithEingangResource]="vorgangWithEingangResource"
diff --git a/alfa-client/libs/bescheid/src/lib/bescheid-wizard-container/bescheid-wizard-container.component.spec.ts b/alfa-client/libs/bescheid/src/lib/bescheid-wizard-container/bescheid-wizard-container.component.spec.ts
index ed66740aa800ca2b5243d64b3f60d0b04552e43b..38bf00e3cbff9cbddbe533aa7b30830c27091592 100644
--- a/alfa-client/libs/bescheid/src/lib/bescheid-wizard-container/bescheid-wizard-container.component.spec.ts
+++ b/alfa-client/libs/bescheid/src/lib/bescheid-wizard-container/bescheid-wizard-container.component.spec.ts
@@ -25,12 +25,21 @@ import { BescheidWizardContainerComponent } from '@alfa-client/bescheid';
 import { BescheidResource, BescheidService, BescheidWizardDialogResult, BescheidWizardStep } from '@alfa-client/bescheid-shared';
 import { CommandOrder, CommandResource } from '@alfa-client/command-shared';
 import { createEmptyStateResource, createStateResource, ESCAPE_KEY, StateResource } from '@alfa-client/tech-shared';
-import { createDialogRefMock, DialogRefMock, existsAsHtmlElement, getElementFromFixtureByType, Mock, mock, triggerEvent, useFromMock, } from '@alfa-client/test-utils';
+import {
+  createDialogRefMock,
+  DialogRefMock,
+  existsAsHtmlElement,
+  getElementFromFixtureByType,
+  Mock,
+  mock,
+  triggerEvent,
+  useFromMock,
+} from '@alfa-client/test-utils';
 import { OzgcloudDialogService } from '@alfa-client/ui';
 import { VorgangWithEingangLinkRel, VorgangWithEingangResource } from '@alfa-client/vorgang-shared';
 import { DIALOG_DATA, DialogRef } from '@angular/cdk/dialog';
 import { ComponentFixture, TestBed } from '@angular/core/testing';
-import { ButtonComponent, CloseIconComponent } from '@ods/system';
+import { ButtonComponent, IconComponent } from '@ods/system';
 import { MockComponent } from 'ng-mocks';
 import { EMPTY, of } from 'rxjs';
 import { createBescheidResource, createBescheidStateResource } from '../../../../bescheid-shared/src/test/bescheid';
@@ -40,7 +49,11 @@ import { singleColdCompleted } from '../../../../tech-shared/test/marbles';
 import { createKeydownKeyboardEvent } from '../../../../test-utils/src/lib/keyboard';
 import { createVorgangWithEingangResource } from '../../../../vorgang-shared/test/vorgang';
 import { BescheidWizardComponent } from './bescheid-wizard/bescheid-wizard.component';
-import { BescheidWizardCancelDialogContainerComponent, CancelWizardDialogData, CancelWizardDialogResult, } from './bescheid-wizard/cancel-dialog-container/bescheid-wizard-cancel-dialog-container.component';
+import {
+  BescheidWizardCancelDialogContainerComponent,
+  CancelWizardDialogData,
+  CancelWizardDialogResult,
+} from './bescheid-wizard/cancel-dialog-container/bescheid-wizard-cancel-dialog-container.component';
 import { BescheidFormService } from './bescheid.formservice';
 
 describe('BescheidWizardContainerComponent', () => {
@@ -83,7 +96,7 @@ describe('BescheidWizardContainerComponent', () => {
         MockComponent(BescheidWizardComponent),
         MockComponent(BescheidWizardCancelDialogContainerComponent),
         MockComponent(ButtonComponent),
-        MockComponent(CloseIconComponent),
+        MockComponent(IconComponent),
       ],
       providers: [
         {
diff --git a/alfa-client/libs/bescheid/src/lib/bescheid-wizard-container/bescheid-wizard/antrag-bescheiden/form/bescheid-wizard-antrag-bescheiden-form.component.html b/alfa-client/libs/bescheid/src/lib/bescheid-wizard-container/bescheid-wizard/antrag-bescheiden/form/bescheid-wizard-antrag-bescheiden-form.component.html
index 2843835f2a178e1e40d221a7bc8b4d14bcca81ea..6c90dcd130c114e143e6fa434998250ce2fad70e 100644
--- a/alfa-client/libs/bescheid/src/lib/bescheid-wizard-container/bescheid-wizard/antrag-bescheiden/form/bescheid-wizard-antrag-bescheiden-form.component.html
+++ b/alfa-client/libs/bescheid/src/lib/bescheid-wizard-container/bescheid-wizard/antrag-bescheiden/form/bescheid-wizard-antrag-bescheiden-form.component.html
@@ -31,7 +31,8 @@
       value="true"
       data-test-id="button-bewilligt"
       variant="bescheid_bewilligt"
-      ><ods-stamp-icon size="large"></ods-stamp-icon>
+    >
+      <ods-stamp-icon size="large"></ods-stamp-icon>
     </ods-radio-button-card>
     <ods-radio-button-card
       label="abgelehnt"
@@ -39,7 +40,8 @@
       value="false"
       data-test-id="button-abgelehnt"
       variant="bescheid_abgelehnt"
-      ><ods-close-icon size="large" class="fill-abgelehnt"></ods-close-icon>
+    >
+      <ods-icon name="close" size="large" color="abgelehnt" />
     </ods-radio-button-card>
   </div>
   <div class="flex">
diff --git a/alfa-client/libs/bescheid/src/lib/bescheid-wizard-container/bescheid-wizard/antrag-bescheiden/form/bescheid-wizard-antrag-bescheiden-form.component.spec.ts b/alfa-client/libs/bescheid/src/lib/bescheid-wizard-container/bescheid-wizard/antrag-bescheiden/form/bescheid-wizard-antrag-bescheiden-form.component.spec.ts
index 17cafdfc31404bd5b48a694aac2cb4886ffa039b..84be3eb452d74409134026571fc4eafb18f927b0 100644
--- a/alfa-client/libs/bescheid/src/lib/bescheid-wizard-container/bescheid-wizard/antrag-bescheiden/form/bescheid-wizard-antrag-bescheiden-form.component.spec.ts
+++ b/alfa-client/libs/bescheid/src/lib/bescheid-wizard-container/bescheid-wizard/antrag-bescheiden/form/bescheid-wizard-antrag-bescheiden-form.component.spec.ts
@@ -24,13 +24,20 @@
 import { BescheidLinkRel, BescheidService } from '@alfa-client/bescheid-shared';
 import { CommandResource } from '@alfa-client/command-shared';
 import { createEmptyStateResource, HasLinkPipe, StateResource } from '@alfa-client/tech-shared';
-import { existsAsHtmlElement, getElementFromFixtureByType, mock, notExistsAsHtmlElement, triggerEvent, useFromMock, } from '@alfa-client/test-utils';
+import {
+  existsAsHtmlElement,
+  getElementFromFixtureByType,
+  mock,
+  notExistsAsHtmlElement,
+  triggerEvent,
+  useFromMock,
+} from '@alfa-client/test-utils';
 import { DateEditorComponent } from '@alfa-client/ui';
 import { VorgangWithEingangLinkRel } from '@alfa-client/vorgang-shared';
 import { EventEmitter } from '@angular/core';
 import { ComponentFixture, TestBed } from '@angular/core/testing';
 import { ReactiveFormsModule, UntypedFormBuilder } from '@angular/forms';
-import { CloseIconComponent, RadioButtonCardComponent, StampIconComponent } from '@ods/system';
+import { IconComponent, RadioButtonCardComponent, StampIconComponent } from '@ods/system';
 import { MockComponent } from 'ng-mocks';
 import { EMPTY, of } from 'rxjs';
 import { createBescheidResource } from '../../../../../../../bescheid-shared/src/test/bescheid';
@@ -61,7 +68,7 @@ describe('BescheidWizardAntragBescheidenFormComponent', () => {
         MockComponent(BescheidWizardWeiterButtonComponent),
         MockComponent(RadioButtonCardComponent),
         MockComponent(StampIconComponent),
-        MockComponent(CloseIconComponent),
+        MockComponent(IconComponent),
         MockComponent(DateEditorComponent),
       ],
       providers: [
diff --git a/alfa-client/libs/bescheid/src/lib/bescheid-wizard-container/bescheid-wizard/cancel-dialog-container/bescheid-wizard-cancel-dialog-container.component.html b/alfa-client/libs/bescheid/src/lib/bescheid-wizard-container/bescheid-wizard/cancel-dialog-container/bescheid-wizard-cancel-dialog-container.component.html
index 9d885f59c02d12b386c35498c5a74c5a62f5ddea..d566e92d9ed8b993b2017e4eb4b505feaef0b6d0 100644
--- a/alfa-client/libs/bescheid/src/lib/bescheid-wizard-container/bescheid-wizard/cancel-dialog-container/bescheid-wizard-cancel-dialog-container.component.html
+++ b/alfa-client/libs/bescheid/src/lib/bescheid-wizard-container/bescheid-wizard/cancel-dialog-container/bescheid-wizard-cancel-dialog-container.component.html
@@ -38,7 +38,7 @@
         dataTestId="bescheiderstellung-abbrechen-entwurf-speichern"
         text="Entwurf speichern"
       >
-        <ods-check-icon class="fill-whitetext" icon></ods-check-icon>
+        <ods-icon icon name="check" color="whitetext" />
       </ods-button-with-spinner>
       <ods-button-with-spinner
         [stateResource]="deleteStateResource$ | async"
@@ -47,7 +47,7 @@
         dataTestId="bescheiderstellung-abbrechen-entwurf-verwerfen"
         text="Verwerfen"
       >
-        <ods-close-icon class="fill-primary" icon></ods-close-icon>
+        <ods-icon icon name="close" />
       </ods-button-with-spinner>
     </div>
   </div>
diff --git a/alfa-client/libs/bescheid/src/lib/bescheid-wizard-container/bescheid-wizard/cancel-dialog-container/bescheid-wizard-cancel-dialog-container.component.spec.ts b/alfa-client/libs/bescheid/src/lib/bescheid-wizard-container/bescheid-wizard/cancel-dialog-container/bescheid-wizard-cancel-dialog-container.component.spec.ts
index 54f6e363e26b5372102bc8be397585cae8b839f5..5e95bb485a951367354637ce604951f9cee1d856 100644
--- a/alfa-client/libs/bescheid/src/lib/bescheid-wizard-container/bescheid-wizard/cancel-dialog-container/bescheid-wizard-cancel-dialog-container.component.spec.ts
+++ b/alfa-client/libs/bescheid/src/lib/bescheid-wizard-container/bescheid-wizard/cancel-dialog-container/bescheid-wizard-cancel-dialog-container.component.spec.ts
@@ -24,12 +24,20 @@
 import { BescheidService } from '@alfa-client/bescheid-shared';
 import { CommandResource } from '@alfa-client/command-shared';
 import { createErrorStateResource, StateResource } from '@alfa-client/tech-shared';
-import { createDialogRefMock, DialogRefMock, existsAsHtmlElement, getElementComponentFromFixtureByCss, Mock, mock, triggerEvent, } from '@alfa-client/test-utils';
+import {
+  createDialogRefMock,
+  DialogRefMock,
+  existsAsHtmlElement,
+  getElementComponentFromFixtureByCss,
+  Mock,
+  mock,
+  triggerEvent,
+} from '@alfa-client/test-utils';
 import { DIALOG_DATA, DialogRef } from '@angular/cdk/dialog';
 import { ComponentFixture, TestBed } from '@angular/core/testing';
 import { expect } from '@jest/globals';
 import { ButtonWithSpinnerComponent } from '@ods/component';
-import { CheckIconComponent, CloseIconComponent } from '@ods/system';
+import { IconComponent } from '@ods/system';
 import { createBescheidResource } from 'libs/bescheid-shared/src/test/bescheid';
 import { createCommandStateResource, createSuccessfullyDoneCommandStateResource } from 'libs/command-shared/test/command';
 import { getDataTestIdAttributeOf } from 'libs/tech-shared/test/data-test';
@@ -38,7 +46,10 @@ import { singleColdCompleted } from 'libs/tech-shared/test/marbles';
 import { MockComponent } from 'ng-mocks';
 import { EMPTY, of } from 'rxjs';
 import { BescheidFormService } from '../../bescheid.formservice';
-import { BescheidWizardCancelDialogContainerComponent, CancelWizardDialogData, } from './bescheid-wizard-cancel-dialog-container.component';
+import {
+  BescheidWizardCancelDialogContainerComponent,
+  CancelWizardDialogData,
+} from './bescheid-wizard-cancel-dialog-container.component';
 
 describe('BescheidWizardCancelDialogContainerComponent', () => {
   let component: BescheidWizardCancelDialogContainerComponent;
@@ -68,8 +79,7 @@ describe('BescheidWizardCancelDialogContainerComponent', () => {
       declarations: [
         BescheidWizardCancelDialogContainerComponent,
         MockComponent(ButtonWithSpinnerComponent),
-        MockComponent(CheckIconComponent),
-        MockComponent(CloseIconComponent),
+        MockComponent(IconComponent),
       ],
       providers: [
         {
diff --git a/alfa-client/libs/bescheid/src/lib/bescheid.module.ts b/alfa-client/libs/bescheid/src/lib/bescheid.module.ts
index e2d3862abcc2001d8f581e48a69b6eabbf1906c0..f025ab427add36faa93608c94a301e04da69b782 100644
--- a/alfa-client/libs/bescheid/src/lib/bescheid.module.ts
+++ b/alfa-client/libs/bescheid/src/lib/bescheid.module.ts
@@ -61,8 +61,6 @@ import {
   BescheidWrapperComponent,
   ButtonCardComponent,
   ButtonComponent,
-  CheckIconComponent,
-  CloseIconComponent,
   IconComponent,
   RadioButtonCardComponent,
   SaveIconComponent,
@@ -110,7 +108,6 @@ import { BescheidWizardWeiterButtonComponent } from './bescheid-wizard-container
     BescheidStatusTextComponent,
     BescheidWrapperComponent,
     StampIconComponent,
-    CloseIconComponent,
     ButtonWithSpinnerComponent,
     RadioButtonCardComponent,
     ButtonComponent,
@@ -134,7 +131,6 @@ import { BescheidWizardWeiterButtonComponent } from './bescheid-wizard-container
     FileUploadEditorComponent,
     SendIconComponent,
     SaveIconComponent,
-    CheckIconComponent,
     TextEditorComponent,
     TextareaEditorComponent,
     ConvertForDataTestPipe,
diff --git a/alfa-client/libs/bescheid/src/lib/beschieden-date-in-vorgang-container/beschieden-date-container/beschieden-date-container.component.html b/alfa-client/libs/bescheid/src/lib/beschieden-date-in-vorgang-container/beschieden-date-container/beschieden-date-container.component.html
index 2c2af3a725f64eed4c2839addbb49f0a91893ba1..03c6c749e016623d5ec1c4024d22262e9f271046 100644
--- a/alfa-client/libs/bescheid/src/lib/beschieden-date-in-vorgang-container/beschieden-date-container/beschieden-date-container.component.html
+++ b/alfa-client/libs/bescheid/src/lib/beschieden-date-in-vorgang-container/beschieden-date-container/beschieden-date-container.component.html
@@ -25,17 +25,11 @@
 -->
 <ng-container *ngIf="bescheid$ | async as bescheid">
   <div class="flex items-center gap-2 text-text">
-    <ods-stamp-icon
-      *ngIf="bescheid.bewilligt"
-      data-test-id="bewilligt-icon"
-      size="small"
-      class="fill-bewilligt"
-    />
-    <ods-close-icon
-      *ngIf="!bescheid.bewilligt"
-      data-test-id="abgelehnt-icon"
-      class="fill-abgelehnt"
-    />
+    @if (bescheid.bewilligt) {
+      <ods-stamp-icon data-test-id="bewilligt-icon" size="small" class="fill-bewilligt" />
+    } @else {
+      <ods-icon name="close" color="abgelehnt" data-test-id="abgelehnt-icon" />
+    }
 
     {{ bescheid.beschiedenAm | formatFullDatePipe }}
   </div>
diff --git a/alfa-client/libs/bescheid/src/lib/beschieden-date-in-vorgang-container/beschieden-date-container/beschieden-date-container.component.spec.ts b/alfa-client/libs/bescheid/src/lib/beschieden-date-in-vorgang-container/beschieden-date-container/beschieden-date-container.component.spec.ts
index e70aa9d868a76481094ebd59714e262e0356a98d..21484521a0359a6f005f9ec73aff877732004522 100644
--- a/alfa-client/libs/bescheid/src/lib/beschieden-date-in-vorgang-container/beschieden-date-container/beschieden-date-container.component.spec.ts
+++ b/alfa-client/libs/bescheid/src/lib/beschieden-date-in-vorgang-container/beschieden-date-container/beschieden-date-container.component.spec.ts
@@ -28,7 +28,7 @@ import { ComponentFixture, TestBed } from '@angular/core/testing';
 import { MockComponent } from 'ng-mocks';
 
 import { BescheidService } from '@alfa-client/bescheid-shared';
-import { CloseIconComponent, StampIconComponent } from '@ods/system';
+import { IconComponent, StampIconComponent } from '@ods/system';
 import { createBescheidResource } from 'libs/bescheid-shared/src/test/bescheid';
 import { FormatFullDatePipe } from 'libs/tech-shared/src/lib/pipe/format-full-date.pipe';
 import { getDataTestIdOf } from 'libs/tech-shared/test/data-test';
@@ -52,7 +52,7 @@ describe('BeschiedenDateContainerComponent', () => {
         BeschiedenDateContainerComponent,
         FormatFullDatePipe,
         MockComponent(StampIconComponent),
-        MockComponent(CloseIconComponent),
+        MockComponent(IconComponent),
       ],
       providers: [
         {
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 362e1cbf5dc20d32ce56b18adbafad5e0ecd7b65..dc3d2acd6c8723d0635474889c1caaa0f656f662 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
@@ -28,7 +28,14 @@ import { NgModule } from '@angular/core';
 import { MatIcon } from '@angular/material/icon';
 import { MatTooltip } from '@angular/material/tooltip';
 import { DownloadButtonComponent } from '@ods/component';
-import { AttachmentComponent, AttachmentHeaderComponent, AttachmentWrapperComponent, CloseIconComponent, SpinnerIconComponent, TooltipDirective, } from '@ods/system';
+import {
+  AttachmentComponent,
+  AttachmentHeaderComponent,
+  AttachmentWrapperComponent,
+  IconComponent,
+  SpinnerIconComponent,
+  TooltipDirective,
+} from '@ods/system';
 import { FileSizePlainPipe } from '../../../tech-shared/src/lib/pipe/file-size-plain.pipe';
 import { FileUploadEditorComponent } from '../../../ui/src/lib/ui/editor/file-upload-editor/file-upload-editor.component';
 import { BinaryFileAttachmentContainerComponent } from './binary-file-attachment-container/binary-file-attachment-container.component';
@@ -51,7 +58,7 @@ import { VerticalBinaryFileListComponent } from './vertical-binary-file-list/ver
     AttachmentHeaderComponent,
     AttachmentWrapperComponent,
     SpinnerIconComponent,
-    CloseIconComponent,
+    IconComponent,
     DownloadButtonComponent,
     FileUploadEditorComponent,
     HasLinkPipe,
diff --git a/alfa-client/libs/binary-file/src/lib/binary-file2-container/binary-file2/binary-file2.component.html b/alfa-client/libs/binary-file/src/lib/binary-file2-container/binary-file2/binary-file2.component.html
index 28d0e68be052035a9f7b7ce8cdbb940fb3decda2..aed6ff10ce794746b63eda852e8a1b9bfdda2744 100644
--- a/alfa-client/libs/binary-file/src/lib/binary-file2-container/binary-file2/binary-file2.component.html
+++ b/alfa-client/libs/binary-file/src/lib/binary-file2-container/binary-file2/binary-file2.component.html
@@ -42,7 +42,7 @@
       aria-label="Anhang löschen Button"
       data-test-class="delete-file-button"
     >
-      <ods-close-icon class="fill-text"></ods-close-icon>
+      <ods-icon name="close" color="text" />
     </button>
   </div>
 </ods-attachment>
diff --git a/alfa-client/libs/binary-file/src/lib/binary-file2-container/binary-file2/binary-file2.component.spec.ts b/alfa-client/libs/binary-file/src/lib/binary-file2-container/binary-file2/binary-file2.component.spec.ts
index 7f114ea64baf234b8c76d4a549464d87c21b3801..ad44bb20464e7577741cb6d7410fbb9a7c053d0b 100644
--- a/alfa-client/libs/binary-file/src/lib/binary-file2-container/binary-file2/binary-file2.component.spec.ts
+++ b/alfa-client/libs/binary-file/src/lib/binary-file2-container/binary-file2/binary-file2.component.spec.ts
@@ -26,7 +26,7 @@ import { BinaryFileLinkRel, BinaryFileResource } from '@alfa-client/binary-file-
 import { SpinnerComponent } from '@alfa-client/ui';
 import { ComponentFixture, TestBed, fakeAsync, tick } from '@angular/core/testing';
 import { faker } from '@faker-js/faker';
-import { AttachmentComponent, CloseIconComponent } from '@ods/system';
+import { AttachmentComponent, IconComponent } from '@ods/system';
 import { createBinaryFileResource } from 'libs/binary-file-shared/test/binary-file';
 import { FileSizePlainPipe } from 'libs/tech-shared/src/lib/pipe/file-size-plain.pipe';
 import { MockComponent, MockPipe } from 'ng-mocks';
@@ -44,7 +44,7 @@ describe('BinaryFile2Component', () => {
         BinaryFile2Component,
         MockComponent(AttachmentComponent),
         MockComponent(SpinnerComponent),
-        MockComponent(CloseIconComponent),
+        MockComponent(IconComponent),
         MockPipe(FileSizePlainPipe),
       ],
     });
diff --git a/alfa-client/libs/collaboration/src/lib/collaboration-in-vorgang-container/collaboration-request-form/collaboration-request-form.component.html b/alfa-client/libs/collaboration/src/lib/collaboration-in-vorgang-container/collaboration-request-form/collaboration-request-form.component.html
index f3c58f129d3a0ee417c3a83d066d75057a82de32..7a718f5d5f91e688e6bdae16a431939d2df47d75 100644
--- a/alfa-client/libs/collaboration/src/lib/collaboration-in-vorgang-container/collaboration-request-form/collaboration-request-form.component.html
+++ b/alfa-client/libs/collaboration/src/lib/collaboration-in-vorgang-container/collaboration-request-form/collaboration-request-form.component.html
@@ -46,6 +46,6 @@
     dataTestId="collaboration-request-cancel-button"
     (clickEmitter)="abbrechen.emit()"
   >
-    <ods-close-icon icon class="fill-primary"></ods-close-icon>
+    <ods-icon icon name="close" />
   </ods-button>
 </div>
diff --git a/alfa-client/libs/collaboration/src/lib/collaboration-in-vorgang-container/collaboration-request-form/collaboration-request-form.component.spec.ts b/alfa-client/libs/collaboration/src/lib/collaboration-in-vorgang-container/collaboration-request-form/collaboration-request-form.component.spec.ts
index dba0a73c80f24ce3ca5a034715ba49f621764307..ac172ed614366dfa083cf8972023a00922768299 100644
--- a/alfa-client/libs/collaboration/src/lib/collaboration-in-vorgang-container/collaboration-request-form/collaboration-request-form.component.spec.ts
+++ b/alfa-client/libs/collaboration/src/lib/collaboration-in-vorgang-container/collaboration-request-form/collaboration-request-form.component.spec.ts
@@ -29,7 +29,7 @@ import { SnackBarService } from '@alfa-client/ui';
 import { ComponentFixture, TestBed } from '@angular/core/testing';
 import { FormBuilder, ReactiveFormsModule } from '@angular/forms';
 import { ButtonWithSpinnerComponent, TextEditorComponent, TextareaEditorComponent } from '@ods/component';
-import { ButtonComponent, CloseIconComponent } from '@ods/system';
+import { ButtonComponent, IconComponent } from '@ods/system';
 import { CollaborationService } from 'libs/collaboration-shared/src/lib/collaboration.service';
 import { createCollaborationListResource } from 'libs/collaboration-shared/test/collaboration';
 import { createCommandResource } from 'libs/command-shared/test/command';
@@ -73,7 +73,7 @@ describe('CollaborationRequestFormComponent', () => {
         CollaborationRequestFormComponent,
         MockComponent(ButtonComponent),
         MockComponent(ButtonWithSpinnerComponent),
-        MockComponent(CloseIconComponent),
+        MockComponent(IconComponent),
         MockComponent(TextEditorComponent),
         MockComponent(TextareaEditorComponent),
       ],
diff --git a/alfa-client/libs/collaboration/src/lib/collaboration-in-vorgang-container/collaboration-request-form/collaboration.request.formservice.spec.ts b/alfa-client/libs/collaboration/src/lib/collaboration-in-vorgang-container/collaboration-request-form/collaboration.request.formservice.spec.ts
index d5726c77529ec251188d2323565ad95742986a58..75992d2f0d423c7b2ff6d3fcf2ba52990cbe7936 100644
--- a/alfa-client/libs/collaboration/src/lib/collaboration-in-vorgang-container/collaboration-request-form/collaboration.request.formservice.spec.ts
+++ b/alfa-client/libs/collaboration/src/lib/collaboration-in-vorgang-container/collaboration-request-form/collaboration.request.formservice.spec.ts
@@ -28,10 +28,12 @@ import { Mock, mock } from '@alfa-client/test-utils';
 import { SnackBarService } from '@alfa-client/ui';
 import { TestBed } from '@angular/core/testing';
 import { UntypedFormBuilder } from '@angular/forms';
+import { IconComponent } from '@ods/system';
 import { CollaborationService } from 'libs/collaboration-shared/src/lib/collaboration.service';
 import { createCollaborationListResource } from 'libs/collaboration-shared/test/collaboration';
 import { createCommandErrorResource, createCommandResource } from 'libs/command-shared/test/command';
 import { singleColdCompleted } from 'libs/tech-shared/test/marbles';
+import { MockComponent } from 'ng-mocks';
 import { Observable, of } from 'rxjs';
 import { CollaborationRequestFormService } from './collaboration.request.formservice';
 
@@ -48,6 +50,7 @@ describe('CollaborationRequestFormService', () => {
     snackBarService = mock(SnackBarService);
 
     TestBed.configureTestingModule({
+      imports: [MockComponent(IconComponent)],
       providers: [
         CollaborationRequestFormService,
         UntypedFormBuilder,
diff --git a/alfa-client/libs/collaboration/src/lib/collaboration.module.ts b/alfa-client/libs/collaboration/src/lib/collaboration.module.ts
index 62308b9704c1157391003ae56408374b6ca23cb7..e5e715a85e0da5cdb670ba2ccebefaefb3001027 100644
--- a/alfa-client/libs/collaboration/src/lib/collaboration.module.ts
+++ b/alfa-client/libs/collaboration/src/lib/collaboration.module.ts
@@ -31,8 +31,8 @@ import { FormsModule, ReactiveFormsModule } from '@angular/forms';
 import { ButtonWithSpinnerComponent, TextEditorComponent, TextareaEditorComponent } from '@ods/component';
 import {
   ButtonComponent,
-  CloseIconComponent,
   ExternalUnitIconComponent,
+  IconComponent,
   OfficeIconComponent,
   PublicAdministrationIconComponent,
   SaveIconComponent,
@@ -55,7 +55,7 @@ import { CollaborationRequestFormComponent } from './collaboration-in-vorgang-co
     CommonModule,
     ButtonComponent,
     SaveIconComponent,
-    CloseIconComponent,
+    IconComponent,
     SearchIconComponent,
     CollaborationSharedModule,
     UsersIconComponent,
diff --git a/alfa-client/libs/design-component/src/lib/cancel-dialog-button/cancel-dialog-button.component.spec.ts b/alfa-client/libs/design-component/src/lib/cancel-dialog-button/cancel-dialog-button.component.spec.ts
index 8a67d24b410454a80ae2d62f7bbbd6a86a08fd9e..41fd2baad6addb6dfb263d4979bdb696dd28bf43 100644
--- a/alfa-client/libs/design-component/src/lib/cancel-dialog-button/cancel-dialog-button.component.spec.ts
+++ b/alfa-client/libs/design-component/src/lib/cancel-dialog-button/cancel-dialog-button.component.spec.ts
@@ -1,7 +1,7 @@
 import { dispatchEventFromFixture, existsAsHtmlElement, mock, Mock, MockEvent } from '@alfa-client/test-utils';
 import { OzgcloudDialogService } from '@alfa-client/ui';
 import { ComponentFixture, TestBed } from '@angular/core/testing';
-import { ButtonComponent } from '@ods/system';
+import { ButtonComponent, IconComponent } from '@ods/system';
 import { getDataTestIdOf } from 'libs/tech-shared/test/data-test';
 import { MockComponent } from 'ng-mocks';
 import { CancelDialogButtonComponent } from './cancel-dialog-button.component';
@@ -20,7 +20,7 @@ describe('CancelDialogButtonComponent', () => {
 
     await TestBed.configureTestingModule({
       imports: [CancelDialogButtonComponent],
-      declarations: [MockComponent(ButtonComponent)],
+      declarations: [MockComponent(ButtonComponent), MockComponent(IconComponent)],
       providers: [
         {
           provide: OzgcloudDialogService,
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 03ac3acbe39b7907df7af242da47d4d3f70a5fa3..04c547aa0e8a6ad93777cec5fbe5a2a6c228a3cf 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
@@ -1,11 +1,11 @@
 import { OzgcloudDialogService } from '@alfa-client/ui';
 import { Component, inject, Input } from '@angular/core';
-import { ButtonComponent, CloseIconComponent, TooltipDirective } from '@ods/system';
+import { ButtonComponent, IconComponent, TooltipDirective } from '@ods/system';
 
 @Component({
   selector: 'ods-cancel-dialog-button',
   standalone: true,
-  imports: [ButtonComponent, CloseIconComponent, TooltipDirective],
+  imports: [ButtonComponent, IconComponent, TooltipDirective],
   template: ` @if (showAsIconButton) {
       <ods-button
         (clickEmitter)="cancel()"
@@ -16,9 +16,7 @@ import { ButtonComponent, CloseIconComponent, TooltipDirective } from '@ods/syst
         dataTestId="cancel-dialog-icon-button"
         data-test-id="cancel-dialog-icon-button-container"
       >
-        <ng-container icon>
-          <ods-close-icon class="fill-primary" />
-        </ng-container>
+        <ods-icon icon name="close" />
       </ods-button>
     } @else {
       <ods-button
@@ -28,9 +26,7 @@ import { ButtonComponent, CloseIconComponent, TooltipDirective } from '@ods/syst
         dataTestId="cancel-dialog-button"
         data-test-id="cancel-dialog-button-container"
       >
-        <ng-container icon>
-          <ods-close-icon class="fill-primary" />
-        </ng-container>
+        <ods-icon icon name="close" />
       </ods-button>
     }`,
 })
diff --git a/alfa-client/libs/design-system/src/index.ts b/alfa-client/libs/design-system/src/index.ts
index 58278e9160c17e311c9a6955ad69b536249d24e0..425ba58f6548d9a7f238fc802c43faf1b79cdc65 100644
--- a/alfa-client/libs/design-system/src/index.ts
+++ b/alfa-client/libs/design-system/src/index.ts
@@ -45,8 +45,6 @@ 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/icon/icon.component';
-export * from './lib/icons/check-icon/check-icon.component';
-export * from './lib/icons/close-icon/close-icon.component';
 export * from './lib/icons/delete-icon/delete-icon.component';
 export * from './lib/icons/delete-vorgang-finally-icon/delete-vorgang-finally-icon.component';
 export * from './lib/icons/discard-vorgang-icon/discard-vorgang-icon.component';
diff --git a/alfa-client/libs/design-system/src/lib/bescheid-status-text/bescheid-status-text.component.spec.ts b/alfa-client/libs/design-system/src/lib/bescheid-status-text/bescheid-status-text.component.spec.ts
index ddcab3ac98931905bf87c29d776438f63d537643..e5a94f95a13ae24fb201b24d424cb4a371087ec9 100644
--- a/alfa-client/libs/design-system/src/lib/bescheid-status-text/bescheid-status-text.component.spec.ts
+++ b/alfa-client/libs/design-system/src/lib/bescheid-status-text/bescheid-status-text.component.spec.ts
@@ -24,6 +24,8 @@
 import { existsAsHtmlElement, notExistsAsHtmlElement } from '@alfa-client/test-utils';
 import { ComponentFixture, TestBed } from '@angular/core/testing';
 import { getDataTestClassOf } from 'libs/tech-shared/test/data-test';
+import { MockComponent } from 'ng-mocks';
+import { IconComponent } from '../icon/icon.component';
 import { BescheidStatusTextComponent } from './bescheid-status-text.component';
 
 describe('BescheidStatusTextComponent', () => {
@@ -34,7 +36,7 @@ describe('BescheidStatusTextComponent', () => {
 
   beforeEach(async () => {
     await TestBed.configureTestingModule({
-      imports: [BescheidStatusTextComponent],
+      imports: [BescheidStatusTextComponent, MockComponent(IconComponent)],
     }).compileComponents();
 
     fixture = TestBed.createComponent(BescheidStatusTextComponent);
diff --git a/alfa-client/libs/design-system/src/lib/bescheid-status-text/bescheid-status-text.component.ts b/alfa-client/libs/design-system/src/lib/bescheid-status-text/bescheid-status-text.component.ts
index 25cccb94489df66967bbd8cc29c030e92bf77859..0b6ee4f2043b7eca99282b3ad306ff451119667d 100644
--- a/alfa-client/libs/design-system/src/lib/bescheid-status-text/bescheid-status-text.component.ts
+++ b/alfa-client/libs/design-system/src/lib/bescheid-status-text/bescheid-status-text.component.ts
@@ -24,27 +24,22 @@
 import { CommonModule } from '@angular/common';
 import { Component, Input } from '@angular/core';
 
-import { CloseIconComponent } from '../icons/close-icon/close-icon.component';
+import { IconComponent } from '../icon/icon.component';
 import { StampIconComponent } from '../icons/stamp-icon/stamp-icon.component';
 
 @Component({
   selector: 'ods-bescheid-status-text',
   standalone: true,
-  imports: [CommonModule, StampIconComponent, CloseIconComponent],
+  imports: [CommonModule, StampIconComponent, IconComponent],
   template: ` <p class="flex gap-2 text-base font-medium text-text">
     <span class="flex items-center gap-2" *ngIf="bewilligt"
       ><ods-stamp-icon size="medium" class="fill-bewilligt" />Bewilligt am {{ dateText }}</span
     >
-    <span class="flex items-center gap-2" *ngIf="!bewilligt"
-      ><ods-close-icon class="fill-abgelehnt" />Abgelehnt am
-      {{ dateText }}
+    <span class="flex items-center gap-2" *ngIf="!bewilligt">
+      <ods-icon name="close" color="abgelehnt" />
+      Abgelehnt am {{ dateText }}
     </span>
-    <span
-      *ngIf="hasBescheidDraft"
-      class="flex items-center text-error"
-      data-test-class="bescheid-status-draft"
-      >(Entwurf)</span
-    >
+    <span *ngIf="hasBescheidDraft" class="flex items-center text-error" data-test-class="bescheid-status-draft">(Entwurf)</span>
   </p>`,
 })
 export class BescheidStatusTextComponent {
diff --git a/alfa-client/libs/design-system/src/lib/form/button-toggle/button-toggle.component.spec.ts b/alfa-client/libs/design-system/src/lib/form/button-toggle/button-toggle.component.spec.ts
index b62871354451a940329957034ffb22b3a1b6ce1b..bf751b55ad4298509be162b44276643b3b02bb62 100644
--- a/alfa-client/libs/design-system/src/lib/form/button-toggle/button-toggle.component.spec.ts
+++ b/alfa-client/libs/design-system/src/lib/form/button-toggle/button-toggle.component.spec.ts
@@ -24,6 +24,8 @@
 import { existsAsHtmlElement, getElementFromFixture, notExistsAsHtmlElement } from '@alfa-client/test-utils';
 import { ComponentFixture, TestBed } from '@angular/core/testing';
 import { getDataTestIdOf } from 'libs/tech-shared/test/data-test';
+import { MockComponent } from 'ng-mocks';
+import { IconComponent } from '../../icon/icon.component';
 import { ButtonToggleComponent } from './button-toggle.component';
 
 describe('ButtonToggleComponent', () => {
@@ -34,7 +36,7 @@ describe('ButtonToggleComponent', () => {
 
   beforeEach(async () => {
     await TestBed.configureTestingModule({
-      imports: [ButtonToggleComponent],
+      imports: [ButtonToggleComponent, MockComponent(IconComponent)],
     }).compileComponents();
 
     fixture = TestBed.createComponent(ButtonToggleComponent);
diff --git a/alfa-client/libs/design-system/src/lib/form/button-toggle/button-toggle.component.ts b/alfa-client/libs/design-system/src/lib/form/button-toggle/button-toggle.component.ts
index 682b688db34a95c07b3f916f5c465b433bb9e379..5acc3f1220d14c7059020cb3cb031f1a329391e7 100644
--- a/alfa-client/libs/design-system/src/lib/form/button-toggle/button-toggle.component.ts
+++ b/alfa-client/libs/design-system/src/lib/form/button-toggle/button-toggle.component.ts
@@ -23,12 +23,12 @@
  */
 import { CommonModule } from '@angular/common';
 import { Component, HostBinding, Input } from '@angular/core';
-import { CheckIconComponent } from '../../icons/check-icon/check-icon.component';
+import { IconComponent } from '../../icon/icon.component';
 
 @Component({
   selector: 'ods-button-toggle',
   standalone: true,
-  imports: [CommonModule, CheckIconComponent],
+  imports: [CommonModule, IconComponent],
   template: `<button
     class="flex h-full cursor-pointer items-center gap-1 px-3 py-1.5 outline-none hover:bg-neutral-300 focus-visible:bg-neutral-300 dark:hover:bg-neutral-600 dark:focus-visible:bg-neutral-600"
     [ngClass]="{
@@ -41,7 +41,9 @@ import { CheckIconComponent } from '../../icons/check-icon/check-icon.component'
     (blur)="isFocused = false"
     data-test-id="button-toggle"
   >
-    <ods-check-icon size="small" *ngIf="isChecked" data-test-id="toggle-check-icon" />
+    @if (isChecked) {
+      <ods-icon name="check" size="small" data-test-id="toggle-check-icon" />
+    }
     <p class="text-sm">{{ label }}</p>
   </button>`,
 })
diff --git a/alfa-client/libs/design-system/src/lib/form/radio-button-card/radio-button-card.stories.ts b/alfa-client/libs/design-system/src/lib/form/radio-button-card/radio-button-card.stories.ts
index 0c0ba2fd025b8d0f968b08f9051b903357468be7..fbdbc9ab29768ae344486695c5d9d1a5ba6656ef 100644
--- a/alfa-client/libs/design-system/src/lib/form/radio-button-card/radio-button-card.stories.ts
+++ b/alfa-client/libs/design-system/src/lib/form/radio-button-card/radio-button-card.stories.ts
@@ -25,7 +25,6 @@ import { CommonModule } from '@angular/common';
 import { FormGroupDirective } from '@angular/forms';
 import { argsToTemplate, moduleMetadata, type Meta, type StoryObj } from '@storybook/angular';
 
-import { CloseIconComponent } from '../../icons/close-icon/close-icon.component';
 import { SaveIconComponent } from '../../icons/save-icon/save-icon.component';
 import { SendIconComponent } from '../../icons/send-icon/send-icon.component';
 import { StampIconComponent } from '../../icons/stamp-icon/stamp-icon.component';
@@ -36,14 +35,7 @@ const meta: Meta<RadioButtonCardComponent> = {
   component: RadioButtonCardComponent,
   decorators: [
     moduleMetadata({
-      imports: [
-        CommonModule,
-        RadioButtonCardComponent,
-        StampIconComponent,
-        CloseIconComponent,
-        SaveIconComponent,
-        SendIconComponent,
-      ],
+      imports: [CommonModule, RadioButtonCardComponent, StampIconComponent, SaveIconComponent, SendIconComponent],
       providers: [FormGroupDirective],
     }),
   ],
@@ -76,6 +68,7 @@ export const Default: Story = {
       value="abgelehnt"
       variant="bescheid_abgelehnt"
     >
+      //TODO OZG-7707
       <ods-close-icon class="fill-abgelehnt" size="large" />
     </ods-radio-button-card>
   </div>`,
diff --git a/alfa-client/libs/design-system/src/lib/icon/icon.component.ts b/alfa-client/libs/design-system/src/lib/icon/icon.component.ts
index 1e5fbb384cd3048aa81c1eccebfe23e319d178df..6e32cb5a7abefd3638c1888e6d5872ca10d8df92 100644
--- a/alfa-client/libs/design-system/src/lib/icon/icon.component.ts
+++ b/alfa-client/libs/design-system/src/lib/icon/icon.component.ts
@@ -45,6 +45,7 @@ const iconVariants = cva('', {
       error: 'fill-error',
       pdf: 'fill-pdf',
       neutral: 'fill-neutral-500 dark:fill-neutral-400',
+      abgelehnt: 'fill-abgelehnt',
     },
   },
 });
diff --git a/alfa-client/libs/design-system/src/lib/icons/check-icon/check-icon.component.spec.ts b/alfa-client/libs/design-system/src/lib/icons/check-icon/check-icon.component.spec.ts
deleted file mode 100644
index 3430f50b18076ff48ba43342a42e886406141ef2..0000000000000000000000000000000000000000
--- a/alfa-client/libs/design-system/src/lib/icons/check-icon/check-icon.component.spec.ts
+++ /dev/null
@@ -1,44 +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 { ComponentFixture, TestBed } from '@angular/core/testing';
-import { CheckIconComponent } from './check-icon.component';
-
-describe('CheckIconComponent', () => {
-  let component: CheckIconComponent;
-  let fixture: ComponentFixture<CheckIconComponent>;
-
-  beforeEach(async () => {
-    await TestBed.configureTestingModule({
-      imports: [CheckIconComponent],
-    }).compileComponents();
-
-    fixture = TestBed.createComponent(CheckIconComponent);
-    component = fixture.componentInstance;
-    fixture.detectChanges();
-  });
-
-  it('should create', () => {
-    expect(component).toBeTruthy();
-  });
-});
diff --git a/alfa-client/libs/design-system/src/lib/icons/check-icon/check-icon.component.ts b/alfa-client/libs/design-system/src/lib/icons/check-icon/check-icon.component.ts
deleted file mode 100644
index a6b377a382a36589723627390d9a91e76a7cc6d8..0000000000000000000000000000000000000000
--- a/alfa-client/libs/design-system/src/lib/icons/check-icon/check-icon.component.ts
+++ /dev/null
@@ -1,48 +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 { CommonModule } from '@angular/common';
-import { Component, Input } from '@angular/core';
-import { twMerge } from 'tailwind-merge';
-import { iconVariants, IconVariants } from '../iconVariants';
-
-@Component({
-  selector: 'ods-check-icon',
-  standalone: true,
-  imports: [CommonModule],
-  template: `<svg
-    viewBox="0 0 24 24"
-    [ngClass]="[twMerge(iconVariants({ size }), 'fill-primary', class)]"
-    aria-hidden="true"
-    xmlns="http://www.w3.org/2000/svg"
-  >
-    <path d="M9.55 18L3.85 12.3L5.275 10.875L9.55 15.15L18.725 5.975L20.15 7.4L9.55 18Z" />
-  </svg>`,
-})
-export class CheckIconComponent {
-  @Input() size: IconVariants['size'] = 'medium';
-  @Input() class: string = undefined;
-
-  readonly iconVariants = iconVariants;
-  readonly twMerge = twMerge;
-}
diff --git a/alfa-client/libs/design-system/src/lib/icons/check-icon/check-icon.stories.ts b/alfa-client/libs/design-system/src/lib/icons/check-icon/check-icon.stories.ts
deleted file mode 100644
index 266e78c3af7fecb89f8dc4c07d2db0d9894cb32c..0000000000000000000000000000000000000000
--- a/alfa-client/libs/design-system/src/lib/icons/check-icon/check-icon.stories.ts
+++ /dev/null
@@ -1,50 +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 type { Meta, StoryObj } from '@storybook/angular';
-
-import { CheckIconComponent } from './check-icon.component';
-
-const meta: Meta<CheckIconComponent> = {
-  title: 'Icons/Check icon',
-  component: CheckIconComponent,
-  excludeStories: /.*Data$/,
-  tags: ['autodocs'],
-};
-
-export default meta;
-type Story = StoryObj<CheckIconComponent>;
-
-export const Default: Story = {
-  args: { size: 'medium' },
-  argTypes: {
-    size: {
-      control: 'select',
-      options: ['small', 'medium', 'large', 'extra-large', 'full'],
-      description: 'Size of icon. Property "full" means 100%',
-      table: {
-        defaultValue: { summary: 'medium' },
-      },
-    },
-  },
-};
diff --git a/alfa-client/libs/design-system/src/lib/icons/close-icon/close-icon.component.spec.ts b/alfa-client/libs/design-system/src/lib/icons/close-icon/close-icon.component.spec.ts
deleted file mode 100644
index 55ce6d22e4da3f77535d8d02c270bfaf7e75c438..0000000000000000000000000000000000000000
--- a/alfa-client/libs/design-system/src/lib/icons/close-icon/close-icon.component.spec.ts
+++ /dev/null
@@ -1,44 +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 { ComponentFixture, TestBed } from '@angular/core/testing';
-import { CloseIconComponent } from './close-icon.component';
-
-describe('CloseIconComponent', () => {
-  let component: CloseIconComponent;
-  let fixture: ComponentFixture<CloseIconComponent>;
-
-  beforeEach(async () => {
-    await TestBed.configureTestingModule({
-      imports: [CloseIconComponent],
-    }).compileComponents();
-
-    fixture = TestBed.createComponent(CloseIconComponent);
-    component = fixture.componentInstance;
-    fixture.detectChanges();
-  });
-
-  it('should create', () => {
-    expect(component).toBeTruthy();
-  });
-});
diff --git a/alfa-client/libs/design-system/src/lib/icons/close-icon/close-icon.component.ts b/alfa-client/libs/design-system/src/lib/icons/close-icon/close-icon.component.ts
deleted file mode 100644
index 4fa60adf3d09cf587c41b720923a5b40e4fd1418..0000000000000000000000000000000000000000
--- a/alfa-client/libs/design-system/src/lib/icons/close-icon/close-icon.component.ts
+++ /dev/null
@@ -1,52 +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 { NgClass } from '@angular/common';
-import { Component, Input } from '@angular/core';
-import { twMerge } from 'tailwind-merge';
-
-import { IconVariants, iconVariants } from '../iconVariants';
-
-@Component({
-  selector: 'ods-close-icon',
-  standalone: true,
-  imports: [NgClass],
-  template: `<svg
-    xmlns="http://www.w3.org/2000/svg"
-    [ngClass]="[twMerge(iconVariants({ size }), 'fill-black', class)]"
-    aria-hidden="true"
-    viewBox="0 0 24 24"
-    fill="inherit"
-  >
-    <path
-      d="M19 6.41L17.59 5L12 10.59L6.41 5L5 6.41L10.59 12L5 17.59L6.41 19L12 13.41L17.59 19L19 17.59L13.41 12L19 6.41Z"
-    />
-  </svg>`,
-})
-export class CloseIconComponent {
-  @Input() size: IconVariants['size'] = 'medium';
-  @Input() class: string = undefined;
-
-  iconVariants = iconVariants;
-  twMerge = twMerge;
-}
diff --git a/alfa-client/libs/design-system/src/lib/icons/close-icon/close-icon.stories.ts b/alfa-client/libs/design-system/src/lib/icons/close-icon/close-icon.stories.ts
deleted file mode 100644
index a147cbf0e2af958d1e18a653d2678c4681cc7d57..0000000000000000000000000000000000000000
--- a/alfa-client/libs/design-system/src/lib/icons/close-icon/close-icon.stories.ts
+++ /dev/null
@@ -1,50 +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 type { Meta, StoryObj } from '@storybook/angular';
-
-import { CloseIconComponent } from './close-icon.component';
-
-const meta: Meta<CloseIconComponent> = {
-  title: 'Icons/Close icon',
-  component: CloseIconComponent,
-  excludeStories: /.*Data$/,
-  tags: ['autodocs'],
-};
-
-export default meta;
-type Story = StoryObj<CloseIconComponent>;
-
-export const Default: Story = {
-  args: { size: 'medium' },
-  argTypes: {
-    size: {
-      control: 'select',
-      options: ['small', 'medium', 'large', 'extra-large', 'full'],
-      description: 'Size of icon. Property "full" means 100%',
-      table: {
-        defaultValue: { summary: 'medium' },
-      },
-    },
-  },
-};
diff --git a/alfa-client/libs/design-system/src/lib/instant-search/search-field/search-field.component.spec.ts b/alfa-client/libs/design-system/src/lib/instant-search/search-field/search-field.component.spec.ts
index 5204dd054f3d444d24faef8de4f7200d1a00691a..2e9143632c3fb17f07b1f130dfc28c4fac9a5a75 100644
--- a/alfa-client/libs/design-system/src/lib/instant-search/search-field/search-field.component.spec.ts
+++ b/alfa-client/libs/design-system/src/lib/instant-search/search-field/search-field.component.spec.ts
@@ -26,7 +26,9 @@ import { getElementFromFixtureByType, mock } from '@alfa-client/test-utils';
 import { EventEmitter } from '@angular/core';
 import { ComponentFixture, TestBed } from '@angular/core/testing';
 import { FormControl } from '@angular/forms';
+import { MockComponent } from 'ng-mocks';
 import { TextInputComponent } from '../../form/text-input/text-input.component';
+import { IconComponent } from '../../icon/icon.component';
 import { SearchFieldComponent } from './search-field.component';
 
 describe('SearchFieldComponent', () => {
@@ -35,7 +37,7 @@ describe('SearchFieldComponent', () => {
 
   beforeEach(async () => {
     await TestBed.configureTestingModule({
-      imports: [SearchFieldComponent],
+      imports: [SearchFieldComponent, MockComponent(IconComponent)],
     }).compileComponents();
 
     fixture = TestBed.createComponent(SearchFieldComponent);
diff --git a/alfa-client/libs/design-system/src/lib/instant-search/search-field/search-field.component.ts b/alfa-client/libs/design-system/src/lib/instant-search/search-field/search-field.component.ts
index 2f45e945d817ca874dc2bec1b927aac498240999..614257e6980cc0f8ebf54fa4154aecb2382c1730 100644
--- a/alfa-client/libs/design-system/src/lib/instant-search/search-field/search-field.component.ts
+++ b/alfa-client/libs/design-system/src/lib/instant-search/search-field/search-field.component.ts
@@ -26,13 +26,13 @@ import { Component, EventEmitter, Input, Output } from '@angular/core';
 import { FormControl } from '@angular/forms';
 import { EMPTY_STRING } from '../../../../../tech-shared/src';
 import { TextInputComponent } from '../../form/text-input/text-input.component';
-import { CloseIconComponent } from '../../icons/close-icon/close-icon.component';
+import { IconComponent } from '../../icon/icon.component';
 import { SearchIconComponent } from '../../icons/search-icon/search-icon.component';
 
 @Component({
   selector: 'ods-search-field',
   standalone: true,
-  imports: [CommonModule, TextInputComponent, SearchIconComponent, CloseIconComponent],
+  imports: [CommonModule, TextInputComponent, SearchIconComponent, IconComponent],
   template: `<ods-text-input
     label="instant search"
     [fieldControl]="control"
@@ -46,7 +46,7 @@ import { SearchIconComponent } from '../../icons/search-icon/search-icon.compone
   >
     <ods-search-icon prefix aria-hidden="true" aria-label="Suchfeld" />
     <button suffix *ngIf="control.value" (click)="clearInput()" aria-label="Eingabe löschen" data-test-id="clear-instant-search">
-      <ods-close-icon class="fill-primary hover:fill-primary-hover" />
+      <ods-icon name="close" class="hover:fill-primary-hover" />
     </button>
   </ods-text-input>`,
 })
diff --git a/alfa-client/libs/user-settings/src/lib/user-settings.module.ts b/alfa-client/libs/user-settings/src/lib/user-settings.module.ts
index fce1e22c3ef1c4ba98c956b33bd3504545dc49ae..66bd954af7292592f955133797a6f84a6d59fed5 100644
--- a/alfa-client/libs/user-settings/src/lib/user-settings.module.ts
+++ b/alfa-client/libs/user-settings/src/lib/user-settings.module.ts
@@ -26,7 +26,7 @@ import { SlideToggleComponent } from '@alfa-client/ui';
 import { UserSettingsSharedModule } from '@alfa-client/user-settings-shared';
 import { CommonModule } from '@angular/common';
 import { NgModule } from '@angular/core';
-import { CloseIconComponent, DropdownMenuComponent, SettingsIconComponent } from '@ods/system';
+import { DropdownMenuComponent, SettingsIconComponent } from '@ods/system';
 import { UserSettingsContainerComponent } from './user-settings-container/user-settings-container.component';
 import { UserSettingsDarkmodeContainerComponent } from './user-settings-container/user-settings/user-settings-dropdown/user-settings-darkmode-container/user-settings-darkmode-container.component';
 import { UserSettingsDarkmodeComponent } from './user-settings-container/user-settings/user-settings-dropdown/user-settings-darkmode-container/user-settings-darkmode/user-settings-darkmode.component';
@@ -40,7 +40,6 @@ import { UserSettingsComponent } from './user-settings-container/user-settings/u
     CommonModule,
     UserSettingsSharedModule,
     DropdownMenuComponent,
-    CloseIconComponent,
     SettingsIconComponent,
     SlideToggleComponent,
     HasLinkPipe,
diff --git a/alfa-client/libs/vorgang-detail/src/lib/buttons/abschliessen-button/abschliessen-button.component.html b/alfa-client/libs/vorgang-detail/src/lib/buttons/abschliessen-button/abschliessen-button.component.html
index 0188a0a906cb073b1e2f488c6fb2dd521413852b..433acff37980d7613755099dc1a81ca63fb8fa59 100644
--- a/alfa-client/libs/vorgang-detail/src/lib/buttons/abschliessen-button/abschliessen-button.component.html
+++ b/alfa-client/libs/vorgang-detail/src/lib/buttons/abschliessen-button/abschliessen-button.component.html
@@ -35,7 +35,7 @@
       size="fit"
       (clickEmitter)="abschliessen()"
     >
-      <ods-check-icon icon class="fill-text" />
+      <ods-icon icon name="check" color="text" />
     </ods-button-with-spinner>
   } @else {
     <ods-button-with-spinner
@@ -45,7 +45,7 @@
       variant="outline"
       (clickEmitter)="abschliessen()"
     >
-      <ods-check-icon icon />
+      <ods-icon icon name="check" />
     </ods-button-with-spinner>
   }
 }
diff --git a/alfa-client/libs/vorgang-detail/src/lib/buttons/abschliessen-button/abschliessen-button.component.spec.ts b/alfa-client/libs/vorgang-detail/src/lib/buttons/abschliessen-button/abschliessen-button.component.spec.ts
index 599cf99c8d98a06cb0ff158ebc92c0735bae820a..5113915512a2e6eb3fe1ed32c45de7ff38c39949 100644
--- a/alfa-client/libs/vorgang-detail/src/lib/buttons/abschliessen-button/abschliessen-button.component.spec.ts
+++ b/alfa-client/libs/vorgang-detail/src/lib/buttons/abschliessen-button/abschliessen-button.component.spec.ts
@@ -27,7 +27,7 @@ import { mock } from '@alfa-client/test-utils';
 import { VorgangCommandService, VorgangWithEingangLinkRel, VorgangWithEingangResource } from '@alfa-client/vorgang-shared';
 import { ComponentFixture, TestBed } from '@angular/core/testing';
 import { ButtonWithSpinnerComponent } from '@ods/component';
-import { CheckIconComponent, TooltipDirective } from '@ods/system';
+import { IconComponent, TooltipDirective } from '@ods/system';
 import { createCommandResource } from 'libs/command-shared/test/command';
 import { getDataTestIdAttributeOf } from 'libs/tech-shared/test/data-test';
 import { createVorgangWithEingangResource } from 'libs/vorgang-shared/test/vorgang';
@@ -52,7 +52,7 @@ describe('AbschliessenButtonComponent', () => {
       declarations: [
         AbschliessenButtonComponent,
         MockComponent(ButtonWithSpinnerComponent),
-        MockComponent(CheckIconComponent),
+        MockComponent(IconComponent),
         MockDirective(TooltipDirective),
         HasLinkPipe,
       ],
diff --git a/alfa-client/libs/vorgang-detail/src/lib/vorgang-detail-page/vorgang-detail-more-menu/vorgang-process-vorgang-container/vorgang-process-vorgang-container.component.html b/alfa-client/libs/vorgang-detail/src/lib/vorgang-detail-page/vorgang-detail-more-menu/vorgang-process-vorgang-container/vorgang-process-vorgang-container.component.html
index 881e47d601c89b457d5fc6d133dfc94d9a606005..0329ba8ad07bd36f4b1373fef72f11aca33a5769 100644
--- a/alfa-client/libs/vorgang-detail/src/lib/vorgang-detail-page/vorgang-detail-more-menu/vorgang-process-vorgang-container/vorgang-process-vorgang-container.component.html
+++ b/alfa-client/libs/vorgang-detail/src/lib/vorgang-detail-page/vorgang-detail-more-menu/vorgang-process-vorgang-container/vorgang-process-vorgang-container.component.html
@@ -30,5 +30,5 @@
   variant="outline"
   text="Vorgang vorprüfen"
 >
-  <ods-check-icon icon />
-</ods-button-with-spinner>
\ No newline at end of file
+  <ods-icon icon name="check" />
+</ods-button-with-spinner>
diff --git a/alfa-client/libs/vorgang-detail/src/lib/vorgang-detail-page/vorgang-detail-more-menu/vorgang-process-vorgang-container/vorgang-process-vorgang-container.component.spec.ts b/alfa-client/libs/vorgang-detail/src/lib/vorgang-detail-page/vorgang-detail-more-menu/vorgang-process-vorgang-container/vorgang-process-vorgang-container.component.spec.ts
index 773833bfe55f109a87ba1c1c5c4984a4f958a1a0..a422c49df4e1a6a6ee1a01bae0979e5312504850 100644
--- a/alfa-client/libs/vorgang-detail/src/lib/vorgang-detail-page/vorgang-detail-more-menu/vorgang-process-vorgang-container/vorgang-process-vorgang-container.component.spec.ts
+++ b/alfa-client/libs/vorgang-detail/src/lib/vorgang-detail-page/vorgang-detail-more-menu/vorgang-process-vorgang-container/vorgang-process-vorgang-container.component.spec.ts
@@ -27,7 +27,7 @@ import { dispatchEventFromFixture, getMockComponent, mock } from '@alfa-client/t
 import { VorgangService, VorgangWithEingangResource } from '@alfa-client/vorgang-shared';
 import { ComponentFixture, TestBed } from '@angular/core/testing';
 import { ButtonWithSpinnerComponent } from '@ods/component';
-import { CheckIconComponent } from '@ods/system';
+import { IconComponent } from '@ods/system';
 import { createCommandResource } from 'libs/command-shared/test/command';
 import { createVorgangWithEingangResource } from 'libs/vorgang-shared/test/vorgang';
 import { MockComponent } from 'ng-mocks';
@@ -46,11 +46,7 @@ describe('ProcessVorgangContainerComponent', () => {
 
   beforeEach(async () => {
     await TestBed.configureTestingModule({
-      declarations: [
-        ProcessVorgangContainerComponent,
-        MockComponent(ButtonWithSpinnerComponent),
-        MockComponent(CheckIconComponent),
-      ],
+      declarations: [ProcessVorgangContainerComponent, MockComponent(ButtonWithSpinnerComponent), MockComponent(IconComponent)],
       providers: [
         {
           provide: VorgangService,
diff --git a/alfa-client/libs/vorgang-detail/src/lib/vorgang-detail.module.ts b/alfa-client/libs/vorgang-detail/src/lib/vorgang-detail.module.ts
index e1a8a6f374f401cd8a56aa5b5413509e6aecbd68..41fa07bdd0b81a981fb4c4d036b46e6aba64dc5f 100644
--- a/alfa-client/libs/vorgang-detail/src/lib/vorgang-detail.module.ts
+++ b/alfa-client/libs/vorgang-detail/src/lib/vorgang-detail.module.ts
@@ -73,8 +73,6 @@ import {
   BescheidStatusTextComponent,
   ButtonCardComponent,
   ButtonComponent,
-  CheckIconComponent,
-  CloseIconComponent,
   DiscardVorgangIconComponent,
   DropdownMenuComponent,
   DropdownMenuTextItemComponent,
@@ -153,7 +151,6 @@ const routes: Routes = [
     ButtonComponent,
     ButtonCardComponent,
     UndoIconComponent,
-    CloseIconComponent,
     EditIconComponent,
     ExclamationIconComponent,
     SaveIconComponent,
@@ -170,7 +167,6 @@ const routes: Routes = [
     BescheidStatusTextComponent,
     ErrorMessageComponent,
     CollaborationModule,
-    CheckIconComponent,
     MatDialogContent,
     ReactiveFormsModule,
     MatIcon,
diff --git a/alfa-client/libs/zustaendige-stelle/src/lib/search-zustaendige-stelle-dialog/search-zustaendige-stelle-dialog.component.html b/alfa-client/libs/zustaendige-stelle/src/lib/search-zustaendige-stelle-dialog/search-zustaendige-stelle-dialog.component.html
index bc4470c5402969cc5497369b92107fc74cd2cff9..d72dfccc450552b42448356ceca4458b951d685f 100644
--- a/alfa-client/libs/zustaendige-stelle/src/lib/search-zustaendige-stelle-dialog/search-zustaendige-stelle-dialog.component.html
+++ b/alfa-client/libs/zustaendige-stelle/src/lib/search-zustaendige-stelle-dialog/search-zustaendige-stelle-dialog.component.html
@@ -27,7 +27,7 @@
   <div class="flex gap-48 py-6 lg:gap-96">
     <h1 class="text-xl font-bold text-primary">{{ title }}</h1>
     <ods-button variant="ghost" size="fit" (clickEmitter)="closeDialog()" dataTestId="close-search-dialog">
-      <ods-close-icon class="fill-primary" icon />
+      <ods-icon icon name="close" />
     </ods-button>
   </div>
   <alfa-search-zustaendige-stelle-form-container (searchResultSelected)="searchResultSelected($event)" />
diff --git a/alfa-client/libs/zustaendige-stelle/src/lib/search-zustaendige-stelle-dialog/search-zustaendige-stelle-dialog.component.spec.ts b/alfa-client/libs/zustaendige-stelle/src/lib/search-zustaendige-stelle-dialog/search-zustaendige-stelle-dialog.component.spec.ts
index 0cd130bb32e24de99cff81a5e9355dcd124f4f22..319218affb8a79e17bc34265cc6689af9a7de437 100644
--- a/alfa-client/libs/zustaendige-stelle/src/lib/search-zustaendige-stelle-dialog/search-zustaendige-stelle-dialog.component.spec.ts
+++ b/alfa-client/libs/zustaendige-stelle/src/lib/search-zustaendige-stelle-dialog/search-zustaendige-stelle-dialog.component.spec.ts
@@ -27,7 +27,7 @@ import { OrganisationsEinheitService, ZUSTAENDIGE_STELLE_SERVICE } from '@alfa-c
 import { DIALOG_DATA, DialogRef } from '@angular/cdk/dialog';
 import { ComponentFixture, TestBed } from '@angular/core/testing';
 import { Resource } from '@ngxp/rest';
-import { ButtonComponent, CloseIconComponent } from '@ods/system';
+import { ButtonComponent, IconComponent } from '@ods/system';
 import { MockComponent } from 'ng-mocks';
 import { SearchZustaendigeStelleDialogComponent } from '././search-zustaendige-stelle-dialog.component';
 import { SearchZustaendigeStelleFormContainerComponent } from './search-zustaendige-stelle-form-container/search-zustaendige-stelle-form-container.component';
@@ -52,7 +52,7 @@ describe('SearchZustaendigeStelleDialogComponent', () => {
         ToEmbeddedResourcesPipe,
         MockComponent(SearchZustaendigeStelleFormContainerComponent),
         MockComponent(ButtonComponent),
-        MockComponent(CloseIconComponent),
+        MockComponent(IconComponent),
       ],
       providers: [
         {
diff --git a/alfa-client/libs/zustaendige-stelle/src/lib/zustaendige-stelle.module.ts b/alfa-client/libs/zustaendige-stelle/src/lib/zustaendige-stelle.module.ts
index 11e5ee19eafa8a59c361e8b260507fe6c32c4ef1..3aabe3c7d7751452a9d85718d89808c3cbb4bdbc 100644
--- a/alfa-client/libs/zustaendige-stelle/src/lib/zustaendige-stelle.module.ts
+++ b/alfa-client/libs/zustaendige-stelle/src/lib/zustaendige-stelle.module.ts
@@ -26,9 +26,9 @@ import { NgModule } from '@angular/core';
 import { FormsModule, ReactiveFormsModule } from '@angular/forms';
 import {
   ButtonComponent,
-  CloseIconComponent,
   EditIconComponent,
   ExternalUnitIconComponent,
+  IconComponent,
   InstantSearchComponent,
   OfficeIconComponent,
   PublicAdministrationIconComponent,
@@ -49,7 +49,7 @@ import { ZustaendigeStelleHeaderComponent } from './zustaendige-stelle-header/zu
   imports: [
     CommonModule,
     ButtonComponent,
-    CloseIconComponent,
+    IconComponent,
     InstantSearchComponent,
     FormsModule,
     ReactiveFormsModule,