/*
  SCHNELL ANPASSEN
  - Hauptfarbe / Sidebar / Fokus:        --afh-color-primary
  - Daten laden / Starten / Speichern:   --afh-action-primary-bg
  - Export / Download:                   --afh-action-export-bg
  - Import / Cache / Verlauf:            --afh-action-utility-bg
  - Loeschen / Rollback / Warnung:       --afh-action-danger-bg
  - Abbrechen / Zurueck / Schliessen:    --afh-action-secondary-bg
  - Button-Rundung:                      --afh-button-radius
  - Button-Schatten:                     --afh-button-shadow
  - Karten-Rundung und Schatten:         --afh-card-radius / --afh-card-shadow
  - Tabellen-Zeilenhoehe/Flaechen:        --afh-table-cell-padding / --afh-table-head-bg
*/

:root {
  /* Marke / Grundfarben */
  --afh-font-family: "Inter", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Arial, sans-serif;
  --afh-color-primary: #9f1d2b;
  --afh-color-primary-hover: #811825;
  --afh-color-primary-soft: #fff1f2;
  --afh-color-secondary: #1f2937;
  --afh-color-bg: #f5f6f8;
  --afh-color-surface: #ffffff;
  --afh-color-surface-subtle: #f8fafc;
  --afh-color-border: #d9dee7;
  --afh-color-border-strong: #c5ccd8;
  --afh-color-text: #111827;
  --afh-color-muted: #667085;
  --afh-color-success: #15803d;
  --afh-color-status-ok: #4c9d65;
  --afh-color-status-bad: var(--afh-color-primary);
  --afh-color-warning: #b45309;
  --afh-color-danger: #b42318;
  --afh-color-info: #1d4ed8;
  --afh-color-selection: #2563eb;
  --afh-color-selection-hover: #1d4ed8;
  --afh-color-selection-soft: #eff6ff;

  /* Layout / Flaechen */
  --afh-radius-xs: 6px;
  --afh-radius-sm: 8px;
  --afh-radius-md: 10px;
  --afh-radius-lg: 12px;
  --afh-radius-xl: 14px;
  --afh-radius-pill: 999px;
  --afh-card-radius: 12px;
  --afh-card-border: 1px solid var(--afh-color-border);
  --afh-card-shadow: 0 4px 12px rgba(15, 23, 42, 0.05);
  --afh-card-shadow-hover: 0 7px 18px rgba(15, 23, 42, 0.08);
  --afh-module-card-radius: var(--afh-button-radius);
  --afh-module-card-shadow: var(--afh-button-shadow);
  --afh-module-card-shadow-hover: var(--afh-button-shadow-hover);
  --afh-module-card-accent: var(--afh-action-primary-bg);
  --afh-module-card-hover-bg: #f8fafc;

  /* Buttons */
  --afh-button-height: 40px;
  --afh-button-padding-x: 14px;
  --afh-button-radius: 8px;
  --afh-button-font-size: 14px;
  --afh-button-font-weight: 700;
  --afh-button-shadow: 0 3px 6px rgba(15, 23, 42, 0.16);
  --afh-button-shadow-hover: 0 4px 10px rgba(15, 23, 42, 0.18);
  --afh-button-focus-ring: 0 0 0 3px rgba(159, 29, 43, 0.18);

  /* Button-Funktionen */
  --afh-action-primary-bg: var(--afh-color-primary);
  --afh-action-primary-bg-hover: var(--afh-color-primary-hover);
  --afh-action-primary-text: #ffffff;
  --afh-action-primary-border: var(--afh-action-primary-bg);

  --afh-action-secondary-bg: #ffffff;
  --afh-action-secondary-bg-hover: #f2f4f7;
  --afh-action-secondary-text: #344054;
  --afh-action-secondary-border: var(--afh-color-border-strong);

  --afh-action-export-bg: #1d4ed8;
  --afh-action-export-bg-hover: #1e40af;
  --afh-action-export-text: #ffffff;
  --afh-action-export-border: var(--afh-action-export-bg);

  --afh-action-utility-bg: #475467;
  --afh-action-utility-bg-hover: #344054;
  --afh-action-utility-text: #ffffff;
  --afh-action-utility-border: var(--afh-action-utility-bg);

  --afh-action-success-bg: #15803d;
  --afh-action-success-bg-hover: #166534;
  --afh-action-success-text: #ffffff;
  --afh-action-success-border: var(--afh-action-success-bg);

  --afh-action-warning-bg: #b45309;
  --afh-action-warning-bg-hover: #92400e;
  --afh-action-warning-text: #ffffff;
  --afh-action-warning-border: var(--afh-action-warning-bg);

  --afh-action-danger-bg: #dc2626;
  --afh-action-danger-bg-hover: #b91c1c;
  --afh-action-danger-text: #ffffff;
  --afh-action-danger-border: var(--afh-action-danger-bg);

  /* Formulare */
  --afh-input-height: var(--afh-button-height);
  --afh-input-radius: 10px;
  --afh-input-padding-x: 12px;
  --afh-input-bg: #ffffff;
  --afh-input-border: var(--afh-color-border-strong);
  --afh-input-focus-border: var(--afh-color-primary);
  --afh-input-focus-ring: 0 0 0 3px rgba(159, 29, 43, 0.14);
  --afh-input-font-size: 15px;
  --afh-input-font-weight: 400;

  /* Tabellen */
  --afh-table-radius: 10px;
  --afh-table-head-bg: #f2f4f7;
  --afh-table-row-bg: #ffffff;
  --afh-table-row-alt-bg: #fafbfc;
  --afh-table-row-hover-bg: #f6f8fb;
  --afh-table-border: #e4e7ec;
  --afh-table-cell-padding: 10px 12px;
  --afh-table-head-color: #475467;
  --afh-table-cell-color: #1f2937;

  /* Badges / Status */
  --afh-badge-radius: var(--afh-radius-pill);
  --afh-badge-padding: 5px 10px;
  --afh-badge-neutral-bg: #eef2f7;
  --afh-badge-neutral-text: #344054;
  --afh-badge-success-bg: #ecfdf3;
  --afh-badge-success-text: #027a48;
  --afh-badge-warning-bg: #fff7ed;
  --afh-badge-warning-text: #b54708;
  --afh-badge-danger-bg: #fff1f2;
  --afh-badge-danger-text: #b42318;
  --afh-badge-info-bg: #eff6ff;
  --afh-badge-info-text: #1d4ed8;

  /* Legacy-Variablen, damit alte Seiten automatisch dieselbe Basis nutzen. */
  --primary: var(--afh-color-primary);
  --bg: var(--afh-color-bg);
  --card: var(--afh-color-surface);
  --text: var(--afh-color-text);
  --success: var(--afh-color-success);
  --warn: var(--afh-color-warning);
  --error: var(--afh-color-danger);
}

html,
body,
button,
input,
select,
textarea {
  font-family: var(--afh-font-family);
}

body {
  background: var(--afh-color-bg);
  color: var(--afh-color-text);
}

.app-header {
  position: static !important;
  top: auto !important;
  left: auto !important;
  right: auto !important;
  z-index: 1300 !important;
}

.sidebar,
.sidebar *,
.app-header,
.app-header *,
button,
[role="button"],
[data-link],
.afh-module-card,
.home-card,
.feature-card {
  -webkit-tap-highlight-color: transparent;
  -webkit-user-select: none;
  user-select: none;
}

img,
svg {
  -webkit-user-drag: none;
  -webkit-user-select: none;
  user-select: none;
}

input::placeholder,
textarea::placeholder {
  font-family: var(--afh-font-family);
  font-size: var(--afh-input-font-size);
  font-weight: var(--afh-input-font-weight);
  color: var(--afh-color-text-muted);
  opacity: 0.72;
}

input,
select,
textarea,
.admin-input,
.login-input input,
.kontakt-input,
.kontakt-select,
.kontakt-textarea,
.ctrl-field input,
.ctrl-select,
.tlk-input,
.onb-input,
.recruitee-input,
.recruitee-select,
.recruitee-textarea,
.plztool-input,
.plztool-select,
.karte-search-input,
.tkm-search-input,
.tkm-search-filter-input,
.tkm-month-select,
.pfktool-input,
.pfktool-select,
.rleiter-input,
.rleiter-modal-input,
.rleiter-modal-textarea,
#anerkAddTableSelect,
#anerkMoveSourceTable,
#anerkMoveTargetTable,
#anerkMoveRowSelect,
#anerkDeleteTableSelect,
#anerkDeleteRowSelect,
.anerk-dynamic-form input,
.anerk-dynamic-form select,
.anerk-dynamic-form textarea,
.anerk-address-form-group input,
.kontakt-field input,
.kontakt-field select,
.kontakt-field textarea,
.recruitee-file-input-wrap {
  border-color: var(--afh-input-border) !important;
  border-radius: var(--afh-input-radius) !important;
  color: var(--afh-color-text);
  background: var(--afh-input-bg);
  font-family: var(--afh-font-family);
  font-size: var(--afh-input-font-size);
  font-weight: var(--afh-input-font-weight);
}

input:not([type="checkbox"]):not([type="radio"]):not([type="file"]),
select,
.admin-input,
.login-input input,
.kontakt-input,
.kontakt-select,
.ctrl-field input,
.ctrl-select,
.tlk-input,
.onb-input,
.recruitee-input,
.recruitee-select,
.plztool-input,
.plztool-select,
.karte-search-input,
.tkm-search-input,
.tkm-search-filter-input,
.tkm-month-select,
.pfktool-input,
.pfktool-select,
.rleiter-input,
.rleiter-modal-input,
#anerkAddTableSelect,
#anerkMoveSourceTable,
#anerkMoveTargetTable,
#anerkMoveRowSelect,
#anerkDeleteTableSelect,
#anerkDeleteRowSelect,
.anerk-dynamic-form input,
.anerk-dynamic-form select,
.anerk-address-form-group input,
.kontakt-field input,
.kontakt-field select {
  height: var(--afh-input-height) !important;
  min-height: var(--afh-input-height) !important;
}

input:focus,
select:focus,
textarea:focus,
.admin-input:focus,
.login-input:focus-within,
.kontakt-input:focus,
.kontakt-select:focus,
.kontakt-textarea:focus,
.ctrl-field input:focus-visible,
.ctrl-select:focus-visible,
.tlk-input:focus,
.onb-input:focus,
.recruitee-input:focus,
.recruitee-select:focus,
.recruitee-textarea:focus,
.plztool-input:focus,
.plztool-select:focus,
.tkm-search-filter-input:focus,
.tkm-month-select:focus,
.pfktool-input:focus,
.pfktool-select:focus,
.rleiter-modal-input:focus,
.rleiter-modal-textarea:focus,
#anerkAddTableSelect:focus,
#anerkMoveSourceTable:focus,
#anerkMoveTargetTable:focus,
#anerkMoveRowSelect:focus,
#anerkDeleteTableSelect:focus,
#anerkDeleteRowSelect:focus,
.anerk-dynamic-form input:focus,
.anerk-dynamic-form select:focus,
.anerk-dynamic-form textarea:focus,
.anerk-address-form-group input:focus,
.kontakt-field input:focus,
.kontakt-field select:focus,
.kontakt-field textarea:focus,
.recruitee-file-input-wrap:focus-within {
  border-color: var(--afh-input-focus-border) !important;
  box-shadow: var(--afh-input-focus-ring) !important;
  outline: none;
}

.tkm-month-select {
  border-color: transparent !important;
  font-family: var(--afh-font-family) !important;
  font-size: var(--afh-button-font-size) !important;
  font-weight: var(--afh-button-font-weight) !important;
}

.tkm-month-select:focus,
.tkm-month-select:focus-visible {
  border-color: transparent !important;
}

.card,
.admin-tile,
.admin-page-card,
.admin-department-pick,
.kontakt-card,
.ctrl-card,
.ctrl-run-card,
.ctrl-preview-card,
.ctrl-history-card,
.ctrl-rank-card,
.tlk-card,
.tlk-result-card,
.onb-card,
.onb-kpi-card,
.recruitee-hero,
.recruitee-workspace,
.recruitee-status-card,
.recruitee-stat-card,
.recruitee-kpi-card,
.recruitee-chart-card,
.recruitee-table-card,
.recruitee-bulk-card,
.plztool-card,
.rleiter-card,
.rleiter-map-card,
.karte-map-card,
.tkm-map-tool-card,
.tkm-modal-card,
.inhalte-hero,
.anerk-table-accordion,
.anerk-address-form-group,
.kontakt-hero,
.kontakt-inbox,
.kontakt-request-card,
.kontakt-confirm-card,
.rleiter-modal,
.tlk-calendar,
.ctrl-send-select-wrap,
.ctrl-inline-modal-card,
.admin-loader-card {
  border-color: var(--afh-color-border) !important;
  border-radius: var(--afh-card-radius) !important;
  box-shadow: var(--afh-card-shadow) !important;
  background-color: var(--afh-color-surface);
}

.pfktool {
  --primary: var(--afh-color-primary);
  --cardStart: var(--afh-color-surface);
  --cardEnd: var(--afh-color-surface-subtle);
  --success: var(--afh-color-success);
  --warn: var(--afh-color-warning);
  --error: var(--afh-color-danger);
  font-family: var(--afh-font-family) !important;
}

.pfktool-card,
.pfktool-box,
.pfktool-details,
.pfktool-loader-box,
.department-module-card,
.recruitee-module-card,
.tkm-module-card,
.anerk-module-card,
.home-page .kachel,
.home-page .home-modal-card,
.home-page .home-progress-card,
.chat-widget,
.modal-box,
.modal-content,
.admin-center-dialog,
.ctrl-inline-modal-card,
.ctrl-modal-card,
.tlk-modal-card,
.onb-modal-card,
.recruitee-modal-dialog,
.recruitee-verteiler-confirm-dialog,
.recruitee-verteiler-load-modal .onb-modal-card {
  border-color: var(--afh-color-border) !important;
  border-radius: var(--afh-card-radius) !important;
  box-shadow: var(--afh-card-shadow) !important;
}

.kontakt-hero,
.inhalte-hero,
.tlk-card-main,
.tlk-card-history,
.onb-card-main,
.onb-card-table,
.ctrl-run-card,
.ctrl-preview-card,
.ctrl-history-card,
.ctrl-rank-card,
.kontakt-info-card,
.kontakt-inbox,
.kontakt-request-card,
.kontakt-confirm-card,
.anerk-address-form-group {
  background: var(--afh-color-surface) !important;
}

.pfktool-card {
  background: transparent !important;
  border-color: transparent !important;
  border-radius: 0 !important;
  box-shadow: none !important;
}

.afh-preview-card {
  width: min(50%, 560px);
  min-height: 58px;
  margin-top: 40px;
  padding: 12px 16px;
  display: flex;
  align-items: center;
  justify-content: center;
  border: 1px solid var(--afh-color-border);
  border-radius: var(--afh-card-radius);
  background: var(--afh-color-surface);
  box-shadow: var(--afh-card-shadow);
  color: var(--afh-color-muted);
  font-family: var(--afh-font-family);
  font-size: 14px;
  font-weight: 600;
  text-align: center;
}

@media (max-width: 760px) {
  .afh-preview-card {
    width: 100%;
  }
}

.tkm-map-tool-card {
  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
}

.pfktool-title {
  color: var(--afh-color-primary) !important;
  letter-spacing: 0 !important;
  text-shadow: none !important;
}

.department-module-card,
.recruitee-module-card,
.tkm-module-card,
.anerk-module-card {
  --module-accent: var(--afh-module-card-accent) !important;
  --module-accent-soft: transparent !important;
  appearance: none;
  position: relative;
  isolation: isolate;
  overflow: hidden;
  background: var(--afh-color-surface) !important;
  border: 1px solid var(--afh-color-border) !important;
  border-radius: var(--afh-module-card-radius) !important;
  box-shadow: var(--afh-module-card-shadow) !important;
  color: var(--afh-color-text) !important;
  font-family: var(--afh-font-family) !important;
  transform: none;
  transition:
    background-color 0.14s ease,
    border-color 0.14s ease,
    color 0.14s ease,
    transform 0.14s ease,
    box-shadow 0.14s ease,
    opacity 0.14s ease !important;
}

.department-module-card::before,
.recruitee-module-card::before,
.tkm-module-card::before,
.anerk-module-card::before {
  display: none !important;
  content: none !important;
}

.department-module-card::after,
.recruitee-module-card::after,
.tkm-module-card::after,
.anerk-module-card::after {
  content: "" !important;
  position: absolute !important;
  z-index: 1;
  left: 16px !important;
  right: 16px !important;
  bottom: 0 !important;
  inset-block-start: auto !important;
  height: 3px !important;
  border-radius: var(--afh-radius-pill) var(--afh-radius-pill) 0 0;
  background: var(--afh-module-card-accent) !important;
  pointer-events: none;
}

.department-module-card:hover:not(:disabled),
.recruitee-module-card:hover:not(:disabled),
.tkm-module-card:hover:not(:disabled),
.anerk-module-card:hover,
.home-page .kachel:hover {
  background: var(--afh-module-card-hover-bg) !important;
  border-color: var(--afh-color-border-strong) !important;
  box-shadow: var(--afh-module-card-shadow-hover) !important;
  transform: translateY(-2px) !important;
}

.department-module-card:active:not(:disabled),
.recruitee-module-card:active:not(:disabled),
.tkm-module-card:active:not(:disabled),
.anerk-module-card:active {
  transform: translateY(0) !important;
}

.department-module-card.is-placeholder,
.department-module-card.is-locked,
.recruitee-module-card.is-locked,
.tkm-module-card.is-placeholder,
.anerk-module-card.is-placeholder {
  background: var(--afh-color-surface) !important;
  border-color: var(--afh-color-border) !important;
  color: var(--afh-color-muted) !important;
  box-shadow: var(--afh-module-card-shadow) !important;
}

.department-module-card.is-placeholder::after,
.department-module-card.is-locked::after,
.recruitee-module-card.is-locked::after,
.tkm-module-card.is-placeholder::after,
.anerk-module-card.is-placeholder::after {
  background: var(--afh-module-card-accent) !important;
  opacity: 0.45;
}

.department-module-card.is-placeholder:hover,
.department-module-card.is-placeholder:active,
.department-module-card.is-locked:hover,
.department-module-card.is-locked:active,
.recruitee-module-card.is-locked:hover,
.recruitee-module-card.is-locked:active,
.tkm-module-card.is-placeholder:hover,
.tkm-module-card.is-placeholder:active,
.anerk-module-card.is-placeholder:hover,
.anerk-module-card.is-placeholder:active {
  border-color: var(--afh-color-border) !important;
  box-shadow: var(--afh-module-card-shadow) !important;
  transform: none !important;
}

.department-module-kicker,
.recruitee-module-kicker,
.tkm-module-kicker,
.anerk-module-kicker {
  color: var(--afh-module-card-accent) !important;
  font-family: var(--afh-font-family) !important;
  letter-spacing: 0.08em !important;
}

.department-module-title,
.recruitee-module-title,
.tkm-module-title,
.anerk-module-title {
  color: var(--afh-color-text) !important;
  font-family: var(--afh-font-family) !important;
}

.department-module-text,
.recruitee-module-text,
.tkm-module-text,
.anerk-module-text {
  color: var(--afh-color-muted) !important;
  font-family: var(--afh-font-family) !important;
}

.department-module-card.is-placeholder .department-module-kicker,
.department-module-card.is-placeholder .department-module-title,
.department-module-card.is-placeholder .department-module-text,
.department-module-card.is-locked .department-module-kicker,
.department-module-card.is-locked .department-module-title,
.department-module-card.is-locked .department-module-text,
.recruitee-module-card.is-locked .recruitee-module-kicker,
.recruitee-module-card.is-locked .recruitee-module-title,
.recruitee-module-card.is-locked .recruitee-module-text,
.tkm-module-card.is-placeholder .tkm-module-kicker,
.tkm-module-card.is-placeholder .tkm-module-title,
.tkm-module-card.is-placeholder .tkm-module-text,
.anerk-module-card.is-placeholder .anerk-module-kicker,
.anerk-module-card.is-placeholder .anerk-module-title,
.anerk-module-card.is-placeholder .anerk-module-text {
  color: var(--afh-color-muted) !important;
}

.afh-btn,
.btn-primary,
.btn-secondary,
.btn-danger,
.admin-btn,
.admin-shutdown-kick-btn,
.login-btn,
.login-submit,
.kontakt-btn,
.ctrl-btn,
.tlk-btn,
.onb-btn,
.tkm-btn,
.tkm-file-btn,
.tkm-range-btn,
.tkm-back-btn,
.rleiter-btn,
.karte-btn,
.anerk-action-btn,
.anerk-export-btn,
.anerk-import-btn,
.home-page .home-btn,
.recruitee-btn,
.recruitee-back-btn,
.recruitee-remove-row-btn,
.recruitee-plz-edit-btn,
.recruitee-plz-export-btn,
.recruitee-name-export-btn,
.recruitee-field-switch-btn,
.plztool-search-btn,
.plztool-maps-inline-btn,
.plztool-reset-btn {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 8px !important;
  width: auto !important;
  min-width: 0 !important;
  max-width: 100% !important;
  flex: 0 0 auto !important;
  height: var(--afh-button-height) !important;
  min-height: var(--afh-button-height) !important;
  border-radius: var(--afh-button-radius) !important;
  padding-inline: var(--afh-button-padding-x) !important;
  font-size: var(--afh-button-font-size) !important;
  font-weight: var(--afh-button-font-weight) !important;
  letter-spacing: 0 !important;
  box-shadow: var(--afh-button-shadow) !important;
  transition:
    background-color 0.14s ease,
    border-color 0.14s ease,
    color 0.14s ease,
    transform 0.14s ease,
    box-shadow 0.14s ease,
    opacity 0.14s ease !important;
}

.pfktool-btn,
.alt-login-icon-btn,
.login-eye,
.chat-input button,
.home-page .home-banner-edit-btn,
.home-page .home-progress-edit-btn,
.home-page .home-tile-edit-btn,
.home-page .home-modal-close,
.rleiter-edit-btn,
.recruitee-row-action-btn,
.recruitee-plz-copy-btn,
.plztool-copy-btn {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 8px !important;
  width: auto !important;
  min-width: 0 !important;
  max-width: 100% !important;
  flex: 0 0 auto !important;
  height: var(--afh-button-height) !important;
  min-height: var(--afh-button-height) !important;
  padding-inline: var(--afh-button-padding-x) !important;
  border-radius: var(--afh-button-radius) !important;
  font-family: var(--afh-font-family) !important;
  font-size: var(--afh-button-font-size) !important;
  font-weight: var(--afh-button-font-weight) !important;
  letter-spacing: 0 !important;
  box-shadow: var(--afh-button-shadow) !important;
}

.anerk-table-toggle,
.anerk-cell-button,
.admin-page-card-toggle,
.admin-center-close,
.ctrl-collapse-toggle,
.ctrl-history-btn,
.ctrl-inline-modal-choice-btn,
.ctrl-cal-nav,
.ctrl-send-toggle-btn,
.ctrl-modal-close,
.tlk-history-open-btn,
.tlk-history-delete,
.tlk-history-export,
.tlk-history-file,
.tlk-lead-manage-remove,
.tlk-date-btn,
.tlk-cal-nav,
.tlk-cal-day,
.onb-modal-choice-btn,
.onb-sort-btn,
.karte-fullscreen-btn,
.tkm-fullscreen-btn,
.tkm-modal-choice-btn,
.recruitee-audit-collapsible-btn,
.recruitee-modal-close,
.modal-close,
.global-banner-close,
.kontakt-attachment-clear,
.kontakt-request-open,
.kontakt-request-delete {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 8px !important;
  width: auto !important;
  min-width: 0 !important;
  max-width: 100% !important;
  flex: 0 0 auto !important;
  height: var(--afh-button-height) !important;
  min-height: var(--afh-button-height) !important;
  padding-inline: var(--afh-button-padding-x) !important;
  border-radius: var(--afh-button-radius) !important;
  font-family: var(--afh-font-family) !important;
  font-size: var(--afh-button-font-size) !important;
  font-weight: var(--afh-button-font-weight) !important;
  letter-spacing: 0 !important;
  box-shadow: var(--afh-button-shadow) !important;
}

.afh-btn:hover:not(:disabled),
.btn-primary:hover:not(:disabled),
.btn-secondary:hover:not(:disabled),
.btn-danger:hover:not(:disabled),
.admin-btn:hover:not(:disabled),
.login-btn:hover:not(:disabled),
.login-submit:hover:not(:disabled),
.kontakt-btn:hover:not(:disabled),
.ctrl-btn:hover:not(:disabled),
.tlk-btn:hover:not(:disabled),
.onb-btn:hover:not(:disabled),
.tkm-btn:hover:not(:disabled),
.tkm-file-btn:hover:not(:disabled),
.tkm-range-btn:hover:not(:disabled),
.tkm-back-btn:hover:not(:disabled),
.rleiter-btn:hover:not(:disabled),
.karte-btn:hover:not(:disabled),
.anerk-action-btn:hover:not(:disabled),
.anerk-export-btn:hover:not(:disabled),
.anerk-import-btn:hover:not(:disabled),
.home-page .home-btn:hover:not(:disabled),
.recruitee-btn:hover:not(:disabled),
.recruitee-back-btn:hover:not(:disabled),
.recruitee-remove-row-btn:hover:not(:disabled),
.recruitee-plz-edit-btn:hover:not(:disabled),
.recruitee-plz-export-btn:hover:not(:disabled),
.recruitee-name-export-btn:hover:not(:disabled),
.recruitee-field-switch-btn:hover:not(:disabled),
.plztool-search-btn:hover:not(:disabled),
.plztool-maps-inline-btn:hover:not(:disabled),
.plztool-reset-btn:hover:not(:disabled) {
  box-shadow: var(--afh-button-shadow-hover) !important;
  opacity: 1 !important;
  transform: translateY(-1px);
}

.pfktool-btn:hover:not(:disabled),
.alt-login-icon-btn:hover:not(:disabled),
.login-eye:hover:not(:disabled),
.chat-input button:hover:not(:disabled),
.home-page .home-banner-edit-btn:hover:not(:disabled),
.home-page .home-progress-edit-btn:hover:not(:disabled),
.home-page .home-tile-edit-btn:hover:not(:disabled),
.home-page .home-modal-close:hover:not(:disabled),
.rleiter-edit-btn:hover:not(:disabled),
.recruitee-row-action-btn:hover:not(:disabled),
.recruitee-plz-copy-btn:hover:not(:disabled),
.plztool-copy-btn:hover:not(:disabled) {
  box-shadow: var(--afh-button-shadow-hover) !important;
  transform: translateY(-1px);
}

.anerk-table-toggle:hover:not(:disabled),
.anerk-cell-button:hover:not(:disabled),
.admin-page-card-toggle:hover:not(:disabled),
.admin-center-close:hover:not(:disabled),
.ctrl-collapse-toggle:hover:not(:disabled),
.ctrl-history-btn:hover:not(:disabled),
.ctrl-inline-modal-choice-btn:hover:not(:disabled),
.ctrl-cal-nav:hover:not(:disabled),
.ctrl-send-toggle-btn:hover:not(:disabled),
.ctrl-modal-close:hover:not(:disabled),
.tlk-history-open-btn:hover:not(:disabled),
.tlk-history-delete:hover:not(:disabled),
.tlk-history-export:hover:not(:disabled),
.tlk-history-file:hover:not(:disabled),
.tlk-lead-manage-remove:hover:not(:disabled),
.tlk-date-btn:hover:not(:disabled),
.tlk-cal-nav:hover:not(:disabled),
.tlk-cal-day:hover:not(:disabled),
.onb-modal-choice-btn:hover:not(:disabled),
.onb-sort-btn:hover:not(:disabled),
.karte-fullscreen-btn:hover:not(:disabled),
.tkm-fullscreen-btn:hover:not(:disabled),
.tkm-modal-choice-btn:hover:not(:disabled),
.recruitee-audit-collapsible-btn:hover:not(:disabled),
.recruitee-modal-close:hover:not(:disabled),
.modal-close:hover:not(:disabled),
.global-banner-close:hover:not(:disabled),
.kontakt-attachment-clear:hover:not(:disabled),
.kontakt-request-delete:hover:not(:disabled) {
  box-shadow: var(--afh-button-shadow-hover) !important;
  transform: translateY(-1px);
}

.afh-btn:focus-visible,
.btn-primary:focus-visible,
.btn-secondary:focus-visible,
.btn-danger:focus-visible,
.admin-btn:focus-visible,
.login-btn:focus-visible,
.login-submit:focus-visible,
.kontakt-btn:focus-visible,
.ctrl-btn:focus-visible,
.tlk-btn:focus-visible,
.onb-btn:focus-visible,
.tkm-btn:focus-visible,
.tkm-file-btn:focus-visible,
.tkm-range-btn:focus-visible,
.tkm-back-btn:focus-visible,
.rleiter-btn:focus-visible,
.karte-btn:focus-visible,
.anerk-action-btn:focus-visible,
.anerk-export-btn:focus-visible,
.anerk-import-btn:focus-visible,
.home-page .home-btn:focus-visible,
.recruitee-btn:focus-visible,
.recruitee-back-btn:focus-visible,
.recruitee-remove-row-btn:focus-visible,
.recruitee-plz-edit-btn:focus-visible,
.recruitee-plz-export-btn:focus-visible,
.recruitee-name-export-btn:focus-visible,
.recruitee-field-switch-btn:focus-visible,
.plztool-search-btn:focus-visible,
.plztool-maps-inline-btn:focus-visible,
.plztool-reset-btn:focus-visible {
  box-shadow: var(--afh-button-focus-ring) !important;
  outline: none;
}

.pfktool-btn:focus-visible,
.alt-login-icon-btn:focus-visible,
.login-eye:focus-visible,
.chat-input button:focus-visible,
.home-page .home-banner-edit-btn:focus-visible,
.home-page .home-progress-edit-btn:focus-visible,
.home-page .home-tile-edit-btn:focus-visible,
.home-page .home-modal-close:focus-visible,
.rleiter-edit-btn:focus-visible,
.recruitee-row-action-btn:focus-visible,
.recruitee-plz-copy-btn:focus-visible,
.plztool-copy-btn:focus-visible {
  box-shadow: var(--afh-button-focus-ring) !important;
  outline: none;
}

.anerk-table-toggle:focus-visible,
.anerk-cell-button:focus-visible,
.admin-page-card-toggle:focus-visible,
.admin-center-close:focus-visible,
.ctrl-collapse-toggle:focus-visible,
.ctrl-history-btn:focus-visible,
.ctrl-inline-modal-choice-btn:focus-visible,
.ctrl-cal-nav:focus-visible,
.ctrl-send-toggle-btn:focus-visible,
.ctrl-modal-close:focus-visible,
.tlk-history-open-btn:focus-visible,
.tlk-history-delete:focus-visible,
.tlk-history-export:focus-visible,
.tlk-history-file:focus-visible,
.tlk-lead-manage-remove:focus-visible,
.tlk-date-btn:focus-visible,
.tlk-cal-nav:focus-visible,
.tlk-cal-day:focus-visible,
.onb-modal-choice-btn:focus-visible,
.onb-sort-btn:focus-visible,
.karte-fullscreen-btn:focus-visible,
.tkm-fullscreen-btn:focus-visible,
.tkm-modal-choice-btn:focus-visible,
.recruitee-audit-collapsible-btn:focus-visible,
.recruitee-modal-close:focus-visible,
.modal-close:focus-visible,
.global-banner-close:focus-visible,
.kontakt-attachment-clear:focus-visible,
.kontakt-request-delete:focus-visible {
  box-shadow: var(--afh-button-focus-ring) !important;
  outline: none;
}

.afh-btn-primary,
.btn-primary,
.admin-btn-primary,
.login-btn-primary,
.login-submit,
.kontakt-btn-primary,
.ctrl-btn-primary,
.tlk-btn-primary,
.onb-btn-primary,
.tkm-btn-primary,
.rleiter-btn-primary,
.recruitee-btn,
.recruitee-plz-edit-btn,
.plztool-search-btn,
#ctrlPreviewBtn,
#ctrlLoadFreshBtn,
#onbLoadBtn,
#onbLoadFreshBtn,
#tkmLoadBtn,
#tkmLoadFreshBtn,
#tkmRangeApplyBtn,
#tkmExportBtn,
#tlkRunBtn,
#tlkLeadConfirmBtn,
#recruiteePlzAuditRunBtn,
#recruiteeBulkCountBtn,
#recruiteeBulkRunBtn,
#recruiteeAnalyticsRunBtn,
#recruiteeAnalyticsSyncBtn,
#recruiteeVerteilerStartBtn,
.recruitee-verteiler-start-btn {
  border-color: var(--afh-action-primary-border) !important;
  background: var(--afh-action-primary-bg) !important;
  color: var(--afh-action-primary-text) !important;
}

.pfktool-btn-primary,
.chat-input button,
.rleiter-edit-btn,
.recruitee-row-action-btn {
  border-color: var(--afh-action-primary-border) !important;
  background: var(--afh-action-primary-bg) !important;
  color: var(--afh-action-primary-text) !important;
}

.anerk-action-btn.is-add,
.karte-fullscreen-btn,
.tkm-fullscreen-btn {
  border-color: var(--afh-action-primary-border) !important;
  background: var(--afh-action-primary-bg) !important;
  color: var(--afh-action-primary-text) !important;
}

.afh-btn-primary:hover:not(:disabled),
.btn-primary:hover:not(:disabled),
.admin-btn-primary:hover:not(:disabled),
.login-btn-primary:hover:not(:disabled),
.login-submit:hover:not(:disabled),
.kontakt-btn-primary:hover:not(:disabled),
.ctrl-btn-primary:hover:not(:disabled),
.tlk-btn-primary:hover:not(:disabled),
.onb-btn-primary:hover:not(:disabled),
.tkm-btn-primary:hover:not(:disabled),
.rleiter-btn-primary:hover:not(:disabled),
.recruitee-btn:hover:not(:disabled),
.recruitee-plz-edit-btn:hover:not(:disabled),
.plztool-search-btn:hover:not(:disabled),
#ctrlPreviewBtn:hover:not(:disabled),
#ctrlLoadFreshBtn:hover:not(:disabled),
#onbLoadBtn:hover:not(:disabled),
#onbLoadFreshBtn:hover:not(:disabled),
#tkmLoadBtn:hover:not(:disabled),
#tkmLoadFreshBtn:hover:not(:disabled),
#tkmRangeApplyBtn:hover:not(:disabled),
#tkmExportBtn:hover:not(:disabled),
#tlkRunBtn:hover:not(:disabled),
#tlkLeadConfirmBtn:hover:not(:disabled),
#recruiteePlzAuditRunBtn:hover:not(:disabled),
#recruiteeBulkCountBtn:hover:not(:disabled),
#recruiteeBulkRunBtn:hover:not(:disabled),
#recruiteeAnalyticsRunBtn:hover:not(:disabled),
#recruiteeAnalyticsSyncBtn:hover:not(:disabled),
#recruiteeVerteilerStartBtn:hover:not(:disabled),
.recruitee-verteiler-start-btn:hover:not(:disabled) {
  background: var(--afh-action-primary-bg-hover) !important;
}

.pfktool-btn-primary:hover:not(:disabled),
.chat-input button:hover:not(:disabled),
.rleiter-edit-btn:hover:not(:disabled),
.recruitee-row-action-btn:hover:not(:disabled) {
  background: var(--afh-action-primary-bg-hover) !important;
}

.anerk-action-btn.is-add:hover:not(:disabled),
.karte-fullscreen-btn:hover:not(:disabled),
.tkm-fullscreen-btn:hover:not(:disabled) {
  background: var(--afh-action-primary-bg-hover) !important;
}

.afh-btn-secondary,
.btn-secondary,
.admin-btn,
.login-btn-secondary,
.login-eye,
.kontakt-btn-ghost,
.ctrl-btn-ghost,
.tlk-btn,
.onb-btn,
.tkm-btn,
.tkm-range-btn,
.rleiter-btn,
.karte-btn,
.home-page .home-btn-secondary,
.recruitee-back-btn,
.recruitee-remove-row-btn,
.recruitee-field-switch-btn,
#recruiteeBackBtn,
#tkmBackBtn {
  border-color: var(--afh-action-secondary-border) !important;
  background: var(--afh-action-secondary-bg) !important;
  color: var(--afh-action-secondary-text) !important;
}

.alt-login-icon-btn {
  border-color: var(--afh-action-secondary-border) !important;
  background: var(--afh-action-secondary-bg) !important;
  color: var(--afh-action-secondary-text) !important;
}

.anerk-table-toggle,
.anerk-cell-button,
.admin-page-card-toggle,
.admin-center-close,
.ctrl-collapse-toggle,
.ctrl-cal-nav,
.ctrl-send-toggle-btn,
.ctrl-modal-close,
.tlk-date-btn,
.tlk-cal-nav,
.tlk-cal-day,
.onb-sort-btn,
.recruitee-audit-collapsible-btn,
.recruitee-modal-close,
.modal-close,
.kontakt-request-open {
  border-color: var(--afh-action-secondary-border) !important;
  background: var(--afh-action-secondary-bg) !important;
  color: var(--afh-action-secondary-text) !important;
}

.afh-btn-secondary:hover:not(:disabled),
.btn-secondary:hover:not(:disabled),
.admin-btn:hover:not(:disabled),
.login-btn-secondary:hover:not(:disabled),
.login-eye:hover:not(:disabled),
.kontakt-btn-ghost:hover:not(:disabled),
.ctrl-btn-ghost:hover:not(:disabled),
.tlk-btn:hover:not(:disabled),
.onb-btn:hover:not(:disabled),
.tkm-btn:hover:not(:disabled),
.tkm-range-btn:hover:not(:disabled),
.rleiter-btn:hover:not(:disabled),
.karte-btn:hover:not(:disabled),
.home-page .home-btn-secondary:hover:not(:disabled),
.recruitee-back-btn:hover:not(:disabled),
.recruitee-remove-row-btn:hover:not(:disabled),
.recruitee-field-switch-btn:hover:not(:disabled),
#recruiteeBackBtn:hover:not(:disabled),
#tkmBackBtn:hover:not(:disabled) {
  background: var(--afh-action-secondary-bg-hover) !important;
}

.alt-login-icon-btn:hover:not(:disabled) {
  background: var(--afh-action-secondary-bg-hover) !important;
}

.anerk-table-toggle:hover:not(:disabled),
.anerk-cell-button:hover:not(:disabled),
.admin-page-card-toggle:hover:not(:disabled),
.admin-center-close:hover:not(:disabled),
.ctrl-collapse-toggle:hover:not(:disabled),
.ctrl-cal-nav:hover:not(:disabled),
.ctrl-send-toggle-btn:hover:not(:disabled),
.ctrl-modal-close:hover:not(:disabled),
.tlk-date-btn:hover:not(:disabled),
.tlk-cal-nav:hover:not(:disabled),
.tlk-cal-day:hover:not(:disabled),
.onb-sort-btn:hover:not(:disabled),
.recruitee-audit-collapsible-btn:hover:not(:disabled),
.recruitee-modal-close:hover:not(:disabled),
.modal-close:hover:not(:disabled),
.kontakt-request-open:hover:not(:disabled) {
  background: var(--afh-action-secondary-bg-hover) !important;
}

.tlk-cal-day:hover:not(:disabled),
.ctrl-cal-day:hover:not(:disabled) {
  background: var(--afh-color-primary-soft) !important;
  border-color: var(--afh-color-primary) !important;
  color: var(--afh-color-primary) !important;
}

/* Rollen wie Primary muessen nach generischen Button-Klassen stehen, damit z.B. .ctrl-btn-primary gegen .ctrl-btn gewinnt. */
.afh-btn-primary,
.btn-primary,
.admin-btn-primary,
.login-btn-primary,
.login-submit,
.kontakt-btn-primary,
.ctrl-btn-primary,
.tlk-btn-primary,
.onb-btn-primary,
.tkm-btn-primary,
.rleiter-btn-primary,
.recruitee-btn,
.recruitee-plz-edit-btn,
.plztool-search-btn,
#ctrlPreviewBtn,
#ctrlLoadFreshBtn,
#onbLoadBtn,
#onbLoadFreshBtn,
#tkmLoadBtn,
#tkmLoadFreshBtn,
#tkmRangeApplyBtn,
#tlkRunBtn,
#tlkLeadConfirmBtn,
#recruiteePlzAuditRunBtn,
#recruiteeBulkCountBtn,
#recruiteeBulkRunBtn,
#recruiteeAnalyticsRunBtn,
#recruiteeAnalyticsSyncBtn,
#recruiteeVerteilerStartBtn,
.recruitee-verteiler-start-btn {
  border-color: var(--afh-action-primary-border) !important;
  background: var(--afh-action-primary-bg) !important;
  color: var(--afh-action-primary-text) !important;
}

.afh-btn-primary:hover:not(:disabled),
.btn-primary:hover:not(:disabled),
.admin-btn-primary:hover:not(:disabled),
.login-btn-primary:hover:not(:disabled),
.login-submit:hover:not(:disabled),
.kontakt-btn-primary:hover:not(:disabled),
.ctrl-btn-primary:hover:not(:disabled),
.tlk-btn-primary:hover:not(:disabled),
.onb-btn-primary:hover:not(:disabled),
.tkm-btn-primary:hover:not(:disabled),
.rleiter-btn-primary:hover:not(:disabled),
.recruitee-btn:hover:not(:disabled),
.recruitee-plz-edit-btn:hover:not(:disabled),
.plztool-search-btn:hover:not(:disabled),
#ctrlPreviewBtn:hover:not(:disabled),
#ctrlLoadFreshBtn:hover:not(:disabled),
#onbLoadBtn:hover:not(:disabled),
#onbLoadFreshBtn:hover:not(:disabled),
#tkmLoadBtn:hover:not(:disabled),
#tkmLoadFreshBtn:hover:not(:disabled),
#tkmRangeApplyBtn:hover:not(:disabled),
#tlkRunBtn:hover:not(:disabled),
#tlkLeadConfirmBtn:hover:not(:disabled),
#recruiteePlzAuditRunBtn:hover:not(:disabled),
#recruiteeBulkCountBtn:hover:not(:disabled),
#recruiteeBulkRunBtn:hover:not(:disabled),
#recruiteeAnalyticsRunBtn:hover:not(:disabled),
#recruiteeAnalyticsSyncBtn:hover:not(:disabled),
#recruiteeVerteilerStartBtn:hover:not(:disabled),
.recruitee-verteiler-start-btn:hover:not(:disabled) {
  background: var(--afh-action-primary-bg-hover) !important;
}

.afh-btn-export,
.onb-btn-export,
.tkm-btn-export,
.tlk-btn-export,
.ctrl-btn-export,
.ctrl-preview-export-btn,
.anerk-export-btn,
.recruitee-plz-export-btn,
.recruitee-name-export-btn,
#onbExportBtn,
#tlkExportBtn,
#ctrlExportBtn {
  border-color: var(--afh-action-export-border) !important;
  background: var(--afh-action-export-bg) !important;
  color: var(--afh-action-export-text) !important;
}

.afh-btn-export:hover:not(:disabled),
.onb-btn-export:hover:not(:disabled),
.tkm-btn-export:hover:not(:disabled),
.tlk-btn-export:hover:not(:disabled),
.ctrl-btn-export:hover:not(:disabled),
.ctrl-preview-export-btn:hover:not(:disabled),
.anerk-export-btn:hover:not(:disabled),
.recruitee-plz-export-btn:hover:not(:disabled),
.recruitee-name-export-btn:hover:not(:disabled),
#onbExportBtn:hover:not(:disabled),
#tlkExportBtn:hover:not(:disabled),
#ctrlExportBtn:hover:not(:disabled) {
  background: var(--afh-action-export-bg-hover) !important;
}

.afh-btn-utility,
.pfktool-btn-utility,
.pfktool-btn-reset,
.tlk-btn-utility,
.tlk-btn-upload,
.tlk-btn-history,
.tlk-btn-lead-manage,
.tlk-history-export,
.tlk-history-file,
.onb-btn-cached,
.onb-btn-export,
.tkm-btn-cached,
.tkm-btn-selection,
.tkm-file-btn,
.ctrl-btn-cached,
.ctrl-btn-icon,
.anerk-import-btn,
.plztool-reset-btn,
.plztool-maps-inline-btn,
#ctrlLoadCachedBtn,
#onbLoadCachedBtn,
#tkmLoadCachedBtn,
#ctrlImportBtn,
#ctrlRefreshBtn,
#recruiteeBulkPreviewBtn,
.recruitee-verteiler-btn-yellow {
  border-color: var(--afh-action-utility-border) !important;
  background: var(--afh-action-utility-bg) !important;
  color: var(--afh-action-utility-text) !important;
}

.anerk-action-btn.is-move,
.ctrl-history-btn,
.tlk-history-open-btn {
  border-color: var(--afh-action-utility-border) !important;
  background: var(--afh-action-utility-bg) !important;
  color: var(--afh-action-utility-text) !important;
}

.afh-btn-utility:hover:not(:disabled),
.pfktool-btn-utility:hover:not(:disabled),
.pfktool-btn-reset:hover:not(:disabled),
.tlk-btn-utility:hover:not(:disabled),
.tlk-btn-upload:hover:not(:disabled),
.tlk-btn-history:hover:not(:disabled),
.tlk-btn-lead-manage:hover:not(:disabled),
.tlk-history-export:hover:not(:disabled),
.tlk-history-file:hover:not(:disabled),
.onb-btn-cached:hover:not(:disabled),
.onb-btn-export:hover:not(:disabled),
.tkm-btn-cached:hover:not(:disabled),
.tkm-btn-selection:hover:not(:disabled),
.tkm-file-btn:hover:not(:disabled),
.ctrl-btn-cached:hover:not(:disabled),
.ctrl-btn-icon:hover:not(:disabled),
.anerk-import-btn:hover:not(:disabled),
.plztool-reset-btn:hover:not(:disabled),
.plztool-maps-inline-btn:hover:not(:disabled),
#ctrlLoadCachedBtn:hover:not(:disabled),
#onbLoadCachedBtn:hover:not(:disabled),
#tkmLoadCachedBtn:hover:not(:disabled),
#ctrlImportBtn:hover:not(:disabled),
#ctrlRefreshBtn:hover:not(:disabled),
#recruiteeBulkPreviewBtn:hover:not(:disabled),
.recruitee-verteiler-btn-yellow:hover:not(:disabled) {
  background: var(--afh-action-utility-bg-hover) !important;
}

.tlk-btn-history,
.tlk-btn-lead-manage {
  border-color: transparent !important;
  background: var(--afh-color-surface) !important;
  color: var(--afh-color-text) !important;
}

.tlk-btn-history:hover:not(:disabled),
.tlk-btn-lead-manage:hover:not(:disabled) {
  background: var(--afh-color-surface-subtle) !important;
}

.anerk-action-btn.is-move:hover:not(:disabled),
.ctrl-history-btn:hover:not(:disabled),
.tlk-history-open-btn:hover:not(:disabled) {
  background: var(--afh-action-utility-bg-hover) !important;
}

.recruitee-plz-copy-btn,
.plztool-copy-btn {
  border-color: var(--afh-action-utility-border) !important;
  background: var(--afh-action-utility-bg) !important;
  color: var(--afh-action-utility-text) !important;
}

.recruitee-plz-copy-btn:hover:not(:disabled),
.plztool-copy-btn:hover:not(:disabled) {
  background: var(--afh-action-utility-bg-hover) !important;
}

.afh-copy-feedback,
.recruitee-copy-cursor-hint,
.tlk-chip-copyable.is-copied::after {
  padding: 2px 7px !important;
  border: 0 !important;
  border-radius: var(--afh-radius-pill) !important;
  background: rgba(15, 23, 42, 0.94) !important;
  color: #ffffff !important;
  box-shadow: none !important;
  font-size: 10px !important;
  font-weight: 800 !important;
  letter-spacing: 0.02em !important;
  line-height: 1.2 !important;
  white-space: nowrap !important;
  pointer-events: none !important;
  z-index: 9999 !important;
}

.afh-btn-success,
.kontakt-btn-success,
.ctrl-btn-success,
.ctrl-btn-onb-green,
#ctrlExecuteBtn,
#ctrlSendConfirmBtn {
  border-color: var(--afh-action-success-border) !important;
  background: var(--afh-action-success-bg) !important;
  color: var(--afh-action-success-text) !important;
}

.afh-btn-success:hover:not(:disabled),
.kontakt-btn-success:hover:not(:disabled),
.ctrl-btn-success:hover:not(:disabled),
.ctrl-btn-onb-green:hover:not(:disabled),
#ctrlExecuteBtn:hover:not(:disabled),
#ctrlSendConfirmBtn:hover:not(:disabled) {
  background: var(--afh-action-success-bg-hover) !important;
}

.afh-btn-danger,
.btn-danger,
.admin-btn-danger,
.admin-shutdown-kick-btn,
.kontakt-btn-danger,
.home-page .home-btn-danger,
.anerk-action-btn.is-delete,
.ctrl-history-btn-delete,
.tlk-history-delete,
.tlk-lead-manage-remove,
.tlk-btn-rollback,
.tlk-btn-rollback-confirm,
.tlk-btn-history-delete-confirm,
#tlkRollbackBtn,
#tlkRollbackConfirmBtn,
#tlkHistoryDeleteConfirmBtn,
.recruitee-verteiler-btn-red {
  border-color: var(--afh-action-danger-border) !important;
  background: var(--afh-action-danger-bg) !important;
  color: var(--afh-action-danger-text) !important;
}

.kontakt-attachment-clear,
.kontakt-request-delete,
.global-banner-close {
  border-color: var(--afh-action-danger-border) !important;
  background: var(--afh-action-danger-bg) !important;
  color: var(--afh-action-danger-text) !important;
}

.afh-btn-danger:hover:not(:disabled),
.btn-danger:hover:not(:disabled),
.admin-btn-danger:hover:not(:disabled),
.admin-shutdown-kick-btn:hover:not(:disabled),
.kontakt-btn-danger:hover:not(:disabled),
.home-page .home-btn-danger:hover:not(:disabled),
.anerk-action-btn.is-delete:hover:not(:disabled),
.ctrl-history-btn-delete:hover:not(:disabled),
.tlk-history-delete:hover:not(:disabled),
.tlk-lead-manage-remove:hover:not(:disabled),
.tlk-btn-rollback:hover:not(:disabled),
.tlk-btn-rollback-confirm:hover:not(:disabled),
.tlk-btn-history-delete-confirm:hover:not(:disabled),
#tlkRollbackBtn:hover:not(:disabled),
#tlkRollbackConfirmBtn:hover:not(:disabled),
#tlkHistoryDeleteConfirmBtn:hover:not(:disabled),
.recruitee-verteiler-btn-red:hover:not(:disabled) {
  background: var(--afh-action-danger-bg-hover) !important;
}

.kontakt-attachment-clear:hover:not(:disabled),
.kontakt-request-delete:hover:not(:disabled),
.global-banner-close:hover:not(:disabled) {
  background: var(--afh-action-danger-bg-hover) !important;
}

.kontakt-attachment-clear,
.kontakt-request-delete {
  width: var(--afh-button-height) !important;
  padding-inline: 0 !important;
}

.kontakt-attachment-clear.hidden {
  display: none !important;
}

.kontakt-attachment-clear svg,
.kontakt-attachment-clear i,
.kontakt-request-delete svg,
.kontakt-request-delete i {
  width: 16px !important;
  height: 16px !important;
}

.kontakt-request-open {
  min-width: min(360px, 100%) !important;
  justify-content: flex-start !important;
}

.kontakt-page .kontakt-hero {
  border: 0 !important;
  background: transparent !important;
  background-color: transparent !important;
  box-shadow: none !important;
}

.tkm-country-outline,
.tkm-outside-mask {
  pointer-events: none;
}

.tkm-school-marker {
  width: 22px;
  height: 22px;
  margin-left: -11px;
  margin-top: -11px;
}

.tkm-school-marker .tkm-marker-core {
  width: 22px;
  height: 22px;
  border-radius: 8px;
  background: linear-gradient(180deg, #e9858e 0%, #c94a56 64%, var(--afh-color-primary) 100%);
  border: 1px solid rgba(159, 29, 43, 0.64);
  box-shadow:
    0 5px 10px rgba(159, 29, 43, 0.28),
    0 0 0 1px rgba(255, 255, 255, 0.68);
  color: #ffffff;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  transform: rotate(45deg);
  transition:
    transform 0.14s ease,
    box-shadow 0.16s ease,
    filter 0.16s ease;
}

.tkm-school-marker svg {
  width: 12px;
  height: 12px;
  transform: rotate(-45deg);
}

.tkm-school-marker.is-office .tkm-marker-core {
  background: linear-gradient(180deg, #98a2b3 0%, #667085 62%, var(--afh-action-utility-bg) 100%);
  border-color: rgba(71, 84, 103, 0.68);
  box-shadow:
    0 5px 10px rgba(71, 84, 103, 0.28),
    0 0 0 1px rgba(255, 255, 255, 0.68);
}

.tkm-school-marker.is-hover .tkm-marker-core,
.tkm-school-marker:hover .tkm-marker-core {
  transform: rotate(45deg) scale(1.08);
  filter: saturate(1.08);
  box-shadow:
    0 8px 14px rgba(159, 29, 43, 0.38),
    0 0 0 2px rgba(255, 255, 255, 0.76);
}

.tkm-school-marker.is-focus .tkm-marker-core {
  box-shadow:
    0 0 0 3px rgba(159, 29, 43, 0.24),
    0 8px 14px rgba(159, 29, 43, 0.38),
    0 0 16px rgba(159, 29, 43, 0.32);
  transform: rotate(45deg) scale(1.12);
}

.tkm-school-marker.is-office.is-hover .tkm-marker-core,
.tkm-school-marker.is-office:hover .tkm-marker-core {
  box-shadow:
    0 8px 14px rgba(71, 84, 103, 0.38),
    0 0 0 2px rgba(255, 255, 255, 0.76);
}

.tkm-cluster {
  width: 36px;
  height: 36px;
  border-radius: 999px;
  color: #fff;
  font-weight: 800;
  font-size: 12px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  box-shadow: 0 0 0 2px rgba(255, 255, 255, 0.75);
  overflow: hidden;
}

.tkm-cluster-candidate {
  background: var(--afh-color-primary);
  border: 1px solid var(--afh-color-primary-hover);
  box-shadow:
    0 0 0 2px rgba(255, 255, 255, 0.75),
    0 0 11px rgba(159, 29, 43, 0.38),
    0 7px 13px rgba(159, 29, 43, 0.34);
}

.tkm-cluster-office {
  background: var(--afh-action-utility-bg);
  border: 1px solid var(--afh-action-utility-bg-hover);
  box-shadow:
    0 0 0 2px rgba(255, 255, 255, 0.75),
    0 0 11px rgba(71, 84, 103, 0.36),
    0 7px 13px rgba(71, 84, 103, 0.32);
}

.tkm-cluster span {
  width: 100%;
  height: 100%;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  line-height: 1;
  transform: translateY(-0.5px);
}

.tkm-map .leaflet-popup-content-wrapper,
.plztool-map .leaflet-popup-content-wrapper {
  border-radius: var(--afh-button-radius) !important;
  border: 1px solid var(--afh-color-border) !important;
  background: rgba(255, 255, 255, 0.9) !important;
  backdrop-filter: blur(3px);
  -webkit-backdrop-filter: blur(3px);
  box-shadow: var(--afh-button-shadow-hover) !important;
}

.tkm-map .leaflet-popup-tip,
.plztool-map .leaflet-popup-tip {
  background: rgba(255, 255, 255, 0.9) !important;
}

.tkm-popup {
  min-width: 210px;
  color: var(--afh-color-text);
  font-family: var(--afh-font-family);
}

.tkm-popup-title {
  margin: 0 0 4px;
  font-size: 14px;
  font-weight: 800;
}

.tkm-popup-title-badge {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  margin: 0 0 10px;
  padding: 4px 9px;
  border-radius: 3px;
  border: 1px solid currentColor;
  background: transparent;
  color: #334155;
  font-size: 14px;
  font-weight: 750;
  line-height: 1.2;
}

.tkm-popup-title-icon {
  display: inline-flex;
  align-items: center;
  color: var(--afh-color-primary);
}

.tkm-popup-title-icon svg {
  width: 21px;
  height: 21px;
}

.tkm-popup-title-badge strong,
.tkm-popup-title-value,
.tkm-popup strong {
  font-weight: 750;
}

.tkm-popup-sub {
  margin: 0;
  color: var(--afh-color-text);
  font-size: 12px;
  font-weight: 500;
  line-height: 1.45;
}

.tkm-popup-meta {
  margin-top: 12px;
  font-size: 12px;
  color: var(--afh-color-text);
  line-height: 1.45;
  font-weight: 500;
  display: grid;
  gap: 3px;
}

.tkm-map .leaflet-popup-close-button,
.plztool-map .leaflet-popup-close-button {
  top: 6px !important;
  right: 6px !important;
  width: 30px !important;
  height: 30px !important;
  padding: 0 !important;
  box-sizing: border-box;
  border-radius: 8px;
  display: grid !important;
  place-items: center;
  text-align: center;
  font-size: 0 !important;
  line-height: 1 !important;
  font-weight: 700;
  color: var(--afh-action-danger-bg) !important;
  background: var(--afh-color-surface);
  border: 1px solid var(--afh-color-border);
  transition:
    transform 0.14s ease,
    background 0.18s ease,
    box-shadow 0.2s ease,
    color 0.18s ease;
}

.tkm-map .leaflet-popup-close-button::before,
.plztool-map .leaflet-popup-close-button::before {
  content: "×";
  display: block;
  font-size: 24px;
  font-weight: 700;
  line-height: 1;
  transform: translateY(-1px);
}

.tkm-map .leaflet-popup-close-button:hover,
.plztool-map .leaflet-popup-close-button:hover {
  transform: translateY(-1px);
  color: var(--afh-action-danger-bg-hover) !important;
  background: var(--afh-badge-danger-bg);
  border-color: var(--afh-action-danger-border);
  box-shadow: var(--afh-button-shadow-hover);
}

#ctrlLoadCachedBtn,
#ctrlLoadFreshBtn,
#onbLoadCachedBtn,
#onbLoadFreshBtn,
#tkmLoadCachedBtn,
#tkmLoadFreshBtn,
.recruitee-verteiler-load-modal .onb-modal-choice-btn {
  width: auto !important;
  min-width: 0 !important;
  max-width: 100% !important;
  flex: 0 0 auto !important;
  justify-self: flex-start !important;
  align-self: flex-start !important;
  white-space: normal;
}

.afh-table,
table:not(.bezirk-table),
.admin-table,
.ctrl-table,
.ctrl-detail-table table,
.tlk-result-table,
.onb-table,
.recruitee-table,
.recruitee-plz-table,
.recruitee-verteiler-table,
.anerk-table {
  border-collapse: separate !important;
  border-spacing: 0 !important;
  border-radius: var(--afh-table-radius) !important;
  overflow: hidden;
  background: var(--afh-table-row-bg) !important;
  box-shadow: none !important;
}

.afh-table th,
.afh-table td,
table:not(.bezirk-table) th,
table:not(.bezirk-table) td,
.admin-table th,
.admin-table td,
.ctrl-table th,
.ctrl-table td,
.ctrl-detail-table th,
.ctrl-detail-table td,
.tlk-result-table th,
.tlk-result-table td,
.onb-table th,
.onb-table td,
.recruitee-table th,
.recruitee-table td,
.recruitee-plz-table th,
.recruitee-plz-table td,
.recruitee-verteiler-table th,
.recruitee-verteiler-table td,
.anerk-table th,
.anerk-table td {
  border-color: var(--afh-table-border) !important;
  color: var(--afh-table-cell-color);
  padding: var(--afh-table-cell-padding);
}

.afh-table thead th,
table:not(.bezirk-table) thead th,
.admin-table th,
.ctrl-table thead th,
.ctrl-detail-table th,
.tlk-result-table thead th,
.onb-table thead th,
.recruitee-table th,
.recruitee-plz-table th,
.recruitee-verteiler-table th,
.anerk-table th {
  background: var(--afh-table-head-bg) !important;
  color: var(--afh-table-head-color) !important;
  font-size: 12px !important;
  font-weight: 800 !important;
  letter-spacing: 0.04em !important;
  text-transform: uppercase;
}

.afh-table tbody tr:nth-child(even),
table:not(.bezirk-table) tbody tr:nth-child(even),
.admin-table tbody tr:nth-child(even),
.ctrl-table tbody tr:nth-child(even),
.tlk-result-table tbody tr:nth-child(even),
.onb-table tbody tr:nth-child(even),
.recruitee-table tbody tr:nth-child(even),
.recruitee-plz-table tbody tr:nth-child(even),
.recruitee-verteiler-table tbody tr:nth-child(even),
.anerk-table tbody tr:nth-child(even) {
  background: var(--afh-table-row-alt-bg) !important;
}

.afh-table tbody tr:hover,
table:not(.bezirk-table) tbody tr:hover,
.admin-table tbody tr:hover,
.ctrl-table tbody tr:hover,
.tlk-result-table tbody tr:hover,
.onb-table tbody tr:hover,
.recruitee-table tbody tr:hover,
.recruitee-plz-table tbody tr:hover,
.recruitee-verteiler-table tbody tr:hover,
.anerk-table tbody tr:hover {
  background: var(--afh-table-row-hover-bg) !important;
  box-shadow: none !important;
}

table.tlk-result-table tbody tr:hover {
  background: var(--afh-table-row-bg) !important;
}

.admin-table-wrap,
.ctrl-table-wrap,
.ctrl-detail-table-wrap,
.tlk-result-table-wrap,
.onb-table-wrap,
.recruitee-table-wrap,
.recruitee-plz-table-wrap,
.recruitee-verteiler-table-wrap,
.anerk-table-wrap,
.tkm-range-panel,
.recruitee-file-input-wrap {
  border: 1px solid var(--afh-table-border) !important;
  border-radius: var(--afh-table-radius) !important;
  background: var(--afh-color-surface) !important;
  box-shadow: none !important;
}

table:not(.bezirk-table) tbody tr:nth-child(even) td,
.admin-table tbody tr:nth-child(even) td,
.ctrl-table tbody tr:nth-child(even) td,
.tlk-result-table tbody tr:nth-child(even) td,
.onb-table tbody tr:nth-child(even) td,
.recruitee-table tbody tr:nth-child(even) td,
.recruitee-plz-table tbody tr:nth-child(even) td,
.recruitee-verteiler-table tbody tr:nth-child(even) td,
.anerk-table tbody tr:nth-child(even) td {
  background: var(--afh-table-row-alt-bg) !important;
}

table:not(.bezirk-table) tbody tr:hover td,
.admin-table tbody tr:hover td,
.ctrl-table tbody tr:hover td,
.tlk-result-table tbody tr:hover td,
.onb-table tbody tr:hover td,
.recruitee-table tbody tr:hover td,
.recruitee-plz-table tbody tr:hover td,
.recruitee-verteiler-table tbody tr:hover td,
.anerk-table tbody tr:hover td {
  background: var(--afh-table-row-hover-bg) !important;
  box-shadow: none !important;
}

table.tlk-result-table tbody tr:hover td {
  background: var(--afh-table-row-bg) !important;
}

.onb-table-head,
.tlk-table-head,
.ctrl-card-head,
.admin-tile-head,
.recruitee-modal-head,
.modal-header {
  background: var(--afh-table-head-bg) !important;
  border-color: var(--afh-table-border) !important;
  box-shadow: none !important;
}

.pfk-ok,
#pfkUmkreis .pfk-um-item-ok,
.ms-green {
  background: var(--afh-badge-success-bg) !important;
  color: var(--afh-badge-success-text) !important;
  border-left-color: var(--afh-color-success) !important;
}

.pfk-bad,
#pfkUmkreis .pfk-um-item-bad,
.ms-red {
  background: var(--afh-badge-danger-bg) !important;
  color: var(--afh-badge-danger-text) !important;
  border-left-color: var(--afh-color-danger) !important;
}

.pfk-warn,
.ms-yellow {
  background: var(--afh-badge-warning-bg) !important;
  color: var(--afh-badge-warning-text) !important;
  border-left-color: var(--afh-color-warning) !important;
}

.pfk-muted,
.ms-muted {
  background: var(--afh-badge-neutral-bg) !important;
  color: var(--afh-badge-neutral-text) !important;
}

.ctrl-chip-success,
.kontakt-msg[data-type="success"],
.tlk-cal-day.is-has-runs,
.onb-sort-btn.is-active,
.tlk-cal-day.is-selected,
.ctrl-cal-day.is-selected {
  background: var(--afh-badge-success-bg) !important;
  color: var(--afh-badge-success-text) !important;
  border-color: rgba(21, 128, 61, 0.22) !important;
}

.ctrl-chip-danger,
.kontakt-msg[data-type="error"] {
  background: var(--afh-badge-danger-bg) !important;
  color: var(--afh-badge-danger-text) !important;
  border-color: rgba(180, 35, 24, 0.22) !important;
}

.ctrl-chip-warn {
  background: var(--afh-badge-warning-bg) !important;
  color: var(--afh-badge-warning-text) !important;
  border-color: rgba(180, 83, 9, 0.22) !important;
}

.anerk-cell-button.has-value,
.tlk-col-phase1.tlk-chip-match,
.tlk-col-phase2.tlk-chip-match,
.tlk-col-special.tlk-chip-match {
  background: var(--afh-badge-info-bg) !important;
  color: var(--afh-badge-info-text) !important;
  border-color: rgba(29, 78, 216, 0.22) !important;
}

.tlk-col-phase1,
.tlk-col-phase2,
.tlk-col-special,
.tlk-chip-copyable,
.tlk-col-phase1.tlk-chip-match,
.tlk-col-phase2.tlk-chip-match,
.tlk-col-special.tlk-chip-match {
  padding: 3px 8px !important;
  border: 1px solid currentColor !important;
  border-radius: 3px !important;
  background: transparent !important;
  color: #334155 !important;
  box-shadow: none !important;
  font-size: 12px !important;
  font-weight: 750 !important;
}

.tlk-chip-copyable:hover {
  background: transparent !important;
  color: #334155 !important;
  box-shadow: none !important;
  transform: none !important;
}

.kontakt-request-category,
.karte-pill,
.tkm-pill,
.rleiter-label-pill {
  background: var(--afh-badge-neutral-bg) !important;
  color: var(--afh-badge-neutral-text) !important;
  border-color: var(--afh-color-border) !important;
}

.status-badge,
.recruitee-badge,
.recruitee-issue-badge,
.recruitee-plz-chip,
.ctrl-chip,
.onb-table-count,
.tlk-table-empty,
.anerk-table-count,
.kontakt-request-category {
  border-radius: var(--afh-badge-radius) !important;
  padding: var(--afh-badge-padding);
  font-weight: 700;
  letter-spacing: 0;
}

.status-kein,
.recruitee-badge.is-idle,
.recruitee-issue-badge.is-warning,
.recruitee-plz-chip.is-neutral {
  background: var(--afh-badge-neutral-bg) !important;
  color: var(--afh-badge-neutral-text) !important;
}

.status-genehmigt,
.recruitee-badge.is-success,
.recruitee-issue-badge.is-success,
.login-note.is-success {
  background: var(--afh-badge-success-bg) !important;
  color: var(--afh-badge-success-text) !important;
}

.status-in_pruefung,
.recruitee-issue-badge.is-missing,
.recruitee-plz-chip.is-missing {
  background: var(--afh-badge-warning-bg) !important;
  color: var(--afh-badge-warning-text) !important;
}

.recruitee-badge.is-error,
.login-note.is-error,
.form-error {
  background: var(--afh-badge-danger-bg) !important;
  color: var(--afh-badge-danger-text) !important;
}

.recruitee-badge.is-loading,
.recruitee-issue-badge.is-info,
.recruitee-issue-badge.is-extra,
.recruitee-plz-chip.is-extra {
  background: var(--afh-badge-info-bg) !important;
  color: var(--afh-badge-info-text) !important;
}

.recruitee-page[data-recruitee-module-page="plz-audit"] .recruitee-plz-table .recruitee-plz-chip,
.recruitee-page[data-recruitee-module-page="plz-audit"] .recruitee-plz-table .recruitee-plz-chip.is-neutral,
.recruitee-page[data-recruitee-module-page="plz-audit"] .recruitee-plz-table .recruitee-plz-chip.is-missing,
.recruitee-page[data-recruitee-module-page="plz-audit"] .recruitee-plz-table .recruitee-plz-chip.is-extra {
  background: #ffffff !important;
  border-color: var(--afh-color-border) !important;
  color: var(--afh-color-text) !important;
}

.ms-blue,
.ms-darkblue,
.ms-purple,
#pfkUmkreis .pfk-um-badge-air,
#pfkUmkreis .pfk-um-badge-car,
#pfkUmkreis .pfk-um-chip-other {
  background: var(--afh-badge-info-bg) !important;
  border-color: rgba(29, 78, 216, 0.22) !important;
  color: var(--afh-badge-info-text) !important;
  box-shadow: none !important;
  animation: none !important;
}

button:disabled,
.afh-btn[disabled],
.btn-primary[disabled],
.btn-secondary[disabled],
.admin-btn[disabled],
.login-btn[disabled],
.kontakt-btn[disabled],
.ctrl-btn[disabled],
.tlk-btn[disabled],
.onb-btn[disabled],
.tkm-btn[disabled],
.rleiter-btn[disabled],
.karte-btn[disabled],
.recruitee-btn[disabled],
.recruitee-back-btn[disabled],
.plztool-search-btn[disabled] {
  cursor: not-allowed !important;
  opacity: 0.58 !important;
  transform: none !important;
  box-shadow: none !important;
}

button:disabled::before,
button:disabled::after {
  content: none !important;
  display: none !important;
}

.guide-fab,
.chat-fab,
.support-fab,
.scroll-to-top,
.global-banner,
.global-banner-close {
  box-shadow: var(--afh-button-shadow-hover) !important;
}

.scroll-to-top {
  background: var(--afh-action-utility-bg) !important;
  border-radius: var(--afh-button-radius) !important;
  color: var(--afh-action-utility-text) !important;
  box-shadow: var(--afh-button-shadow) !important;
}

.scroll-to-top:hover {
  background: var(--afh-action-utility-bg-hover) !important;
  box-shadow: var(--afh-button-shadow-hover) !important;
}

.chat-fab,
.guide-fab,
.support-fab {
  position: static !important;
  inset: auto !important;
  z-index: auto !important;
  flex: 0 0 auto !important;
  height: var(--afh-button-height) !important;
  min-height: var(--afh-button-height) !important;
  width: auto !important;
  min-width: 0 !important;
  max-width: 100% !important;
  padding-inline: var(--afh-button-padding-x) !important;
  border: 1px solid transparent !important;
  border-radius: var(--afh-button-radius) !important;
  background: var(--afh-color-surface) !important;
  color: var(--afh-color-text) !important;
  box-shadow: var(--afh-button-shadow) !important;
  font-family: var(--afh-font-family) !important;
  font-size: var(--afh-button-font-size) !important;
  font-weight: var(--afh-button-font-weight) !important;
  letter-spacing: 0 !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 8px !important;
  text-decoration: none !important;
  transition:
    background-color 0.14s ease,
    border-color 0.14s ease,
    color 0.14s ease,
    transform 0.14s ease,
    box-shadow 0.14s ease,
    opacity 0.14s ease !important;
}

.header-quick-actions {
  display: inline-flex !important;
  align-items: center !important;
  gap: 8px !important;
  flex: 0 0 auto !important;
}

.chat-fab:hover,
.guide-fab:hover,
.support-fab:hover {
  background: var(--afh-action-secondary-bg-hover) !important;
  border-color: transparent !important;
  box-shadow: var(--afh-button-shadow-hover) !important;
  transform: translateY(-1px);
}

.onb-th-wrap > .onb-sort-btn {
  width: 100% !important;
  height: 100% !important;
  flex: 1 1 auto !important;
  justify-content: space-between !important;
  border: 1px solid var(--afh-action-secondary-border) !important;
  border-radius: var(--afh-button-radius) !important;
  background: var(--afh-action-secondary-bg) !important;
  color: var(--afh-action-secondary-text) !important;
}

.onb-th-wrap > .onb-sort-btn:hover:not(:disabled) {
  background: var(--afh-action-secondary-bg-hover) !important;
  border-color: var(--afh-action-secondary-border) !important;
}

.onb-th-wrap > .onb-sort-btn.is-active {
  background: var(--afh-badge-success-bg) !important;
  color: var(--afh-badge-success-text) !important;
  border-color: rgba(21, 128, 61, 0.22) !important;
}

.chat-fab.hidden,
.guide-fab.hidden,
.support-fab.hidden {
  display: none !important;
}

.chat-fab svg,
.guide-fab svg,
.support-fab svg,
.chat-fab i,
.guide-fab i,
.support-fab i {
  width: 18px !important;
  height: 18px !important;
}

.chat-fab-text {
  font-size: var(--afh-button-font-size) !important;
  font-weight: var(--afh-button-font-weight) !important;
}

.anerk-pfk-feature .inhalte-hero {
  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
}

.anerk-pfk-feature .anerk-action-btn.is-add {
  border-color: var(--afh-action-utility-border) !important;
  background: var(--afh-action-utility-bg) !important;
  color: var(--afh-action-utility-text) !important;
}

.anerk-pfk-feature .anerk-action-btn.is-add:hover:not(:disabled) {
  background: var(--afh-action-utility-bg-hover) !important;
}

.anerk-pfk-feature .anerk-export-btn,
.anerk-pfk-feature .anerk-import-btn {
  border-color: transparent !important;
  background: var(--afh-action-secondary-bg) !important;
  color: var(--afh-action-secondary-text) !important;
}

.anerk-pfk-feature .anerk-export-btn:hover:not(:disabled),
.anerk-pfk-feature .anerk-import-btn:hover:not(:disabled) {
  background: var(--afh-action-secondary-bg-hover) !important;
}

.anerk-pfk-feature .anerk-table-toggle {
  width: 100% !important;
  max-width: none !important;
  flex: 1 1 auto !important;
  height: auto !important;
  min-height: 52px !important;
  justify-content: center !important;
  box-shadow: none !important;
  text-align: center !important;
}

.anerk-pfk-feature .anerk-cell-button {
  height: 28px !important;
  min-height: 28px !important;
  border-color: var(--afh-action-utility-border) !important;
  background: var(--afh-action-utility-bg) !important;
  color: var(--afh-action-utility-text) !important;
  font-size: 11px !important;
}

.anerk-pfk-feature .anerk-cell-button:hover:not(:disabled) {
  background: var(--afh-action-utility-bg-hover) !important;
  color: var(--afh-action-utility-text) !important;
}

.afh-date-picker {
  position: relative;
  display: inline-flex;
  min-width: 0;
}

.afh-date-btn {
  width: 100%;
  min-width: 0;
  justify-content: space-between !important;
}

.afh-date-btn.is-empty [data-date-label] {
  color: var(--afh-color-muted);
}

.afh-date-btn svg,
.afh-date-btn i {
  width: 16px !important;
  height: 16px !important;
  flex: 0 0 auto;
}

.afh-icon-tooltip {
  position: relative;
}

.afh-icon-tooltip::before,
.afh-icon-tooltip::after {
  position: absolute;
  left: 50%;
  z-index: 2200;
  opacity: 0;
  pointer-events: none;
  transition:
    opacity 0.08s ease 0.08s,
    transform 0.08s ease 0.08s;
}

.afh-icon-tooltip::before {
  content: "";
  bottom: calc(100% + 3px);
  width: 8px;
  height: 8px;
  background: #111827;
  transform: translateX(-50%) translateY(2px) rotate(45deg);
}

.afh-icon-tooltip::after {
  content: attr(data-tooltip);
  bottom: calc(100% + 7px);
  min-width: max-content;
  padding: 5px 8px;
  border-radius: var(--afh-button-radius);
  background: #111827;
  color: #ffffff;
  box-shadow: var(--afh-button-shadow-hover);
  font-size: 12px;
  font-weight: 700;
  line-height: 1.2;
  white-space: nowrap;
  transform: translateX(-50%) translateY(2px);
}

.afh-icon-tooltip:hover::before,
.afh-icon-tooltip:focus-visible::before {
  opacity: 1;
  transform: translateX(-50%) translateY(0) rotate(45deg);
}

.afh-icon-tooltip:hover::after,
.afh-icon-tooltip:focus-visible::after {
  opacity: 1;
  transform: translateX(-50%) translateY(0);
}

.afh-calendar {
  position: absolute;
  top: calc(100% + 8px);
  left: 0;
  z-index: 1700;
  width: min(320px, calc(100vw - 32px));
  padding: 10px;
  border: 1px solid var(--afh-color-border);
  border-radius: var(--afh-button-radius);
  background: var(--afh-color-surface);
  box-shadow: var(--afh-button-shadow-hover);
}

.afh-calendar.is-hidden {
  display: none;
}

.afh-calendar-head {
  display: grid;
  grid-template-columns: 34px 1fr 34px;
  align-items: center;
  gap: 8px;
  margin-bottom: 8px;
}

.afh-cal-month {
  text-align: center;
  color: var(--afh-color-text);
  font-size: 13px;
  font-weight: 800;
}

.afh-cal-nav {
  height: 32px;
  border: 1px solid var(--afh-color-border);
  border-radius: var(--afh-button-radius);
  background: var(--afh-color-surface);
  color: var(--afh-color-text);
  cursor: pointer;
  font-size: 18px;
  line-height: 1;
}

.afh-cal-nav:hover {
  background: var(--afh-color-primary-soft);
  border-color: var(--afh-color-primary);
  color: var(--afh-color-primary);
}

.afh-cal-weekdays,
.afh-cal-grid {
  display: grid;
  grid-template-columns: repeat(7, minmax(0, 1fr));
  gap: 4px;
}

.afh-cal-weekdays {
  margin-bottom: 4px;
}

.afh-cal-weekdays span {
  padding: 2px 0;
  color: var(--afh-color-muted);
  font-size: 11px;
  font-weight: 800;
  text-align: center;
}

.afh-cal-empty {
  min-height: 34px;
}

.afh-cal-day {
  min-height: 34px;
  padding: 0;
  border: 1px solid var(--afh-color-border);
  border-radius: var(--afh-button-radius);
  background: var(--afh-color-surface);
  color: var(--afh-color-text);
  cursor: pointer;
  font-size: 12px;
  font-weight: 800;
}

.afh-cal-day:hover {
  background: var(--afh-color-primary-soft);
  border-color: var(--afh-color-primary);
  color: var(--afh-color-primary);
}

.afh-cal-day.is-marked {
  border-color: rgba(21, 128, 61, 0.36);
  background: #ecfdf3;
  color: #027a48;
}

.afh-cal-day.is-today {
  border-color: var(--afh-color-primary);
  box-shadow: inset 0 0 0 1px var(--afh-color-primary);
}

.afh-cal-day.is-selected {
  background: var(--afh-color-primary);
  border-color: var(--afh-color-primary);
  color: #ffffff;
}

.tlk-cal-day.is-selected,
.ctrl-cal-day.is-selected {
  background: var(--afh-color-primary) !important;
  border-color: var(--afh-color-primary) !important;
  color: #ffffff !important;
}

#userMenuBtn.user-menu-btn {
  width: auto !important;
  min-width: 0 !important;
  max-width: min(420px, calc(100vw - 32px)) !important;
  height: var(--afh-button-height) !important;
  min-height: var(--afh-button-height) !important;
  padding: 0 var(--afh-button-padding-x) !important;
  grid-template-columns: 28px max-content 18px !important;
  border: 1px solid var(--afh-action-utility-bg) !important;
  border-radius: var(--afh-button-radius) !important;
  background: var(--afh-color-surface) !important;
  color: var(--afh-color-text) !important;
  box-shadow: var(--afh-button-shadow) !important;
  backdrop-filter: none !important;
  font-family: var(--afh-font-family) !important;
}

#userMenuBtn.user-menu-btn:hover {
  border-color: var(--afh-action-utility-bg-hover) !important;
  background: var(--afh-action-secondary-bg-hover) !important;
  box-shadow: var(--afh-button-shadow-hover) !important;
}

#userMenuBtn .avatar {
  width: 24px !important;
  height: 24px !important;
  border-radius: 6px !important;
  background: var(--afh-action-utility-bg) !important;
  color: var(--afh-action-utility-text) !important;
  box-shadow: none !important;
}

#userName {
  max-width: 260px !important;
  color: var(--afh-color-text) !important;
  font-family: var(--afh-font-family) !important;
  font-size: var(--afh-button-font-size) !important;
  font-weight: var(--afh-button-font-weight) !important;
}

#userMenuBtn svg {
  color: var(--afh-color-text) !important;
  opacity: 0.9 !important;
}

#userDropdown.user-dropdown {
  width: max-content !important;
  min-width: 160px !important;
  padding: 6px !important;
  border: 1px solid var(--afh-color-border) !important;
  border-radius: var(--afh-button-radius) !important;
  background: var(--afh-color-surface) !important;
  color: var(--afh-color-text) !important;
  box-shadow: var(--afh-button-shadow-hover) !important;
  backdrop-filter: none !important;
  top: calc(100% + 8px) !important;
}

#userDropdown.user-dropdown::before {
  display: none !important;
  content: none !important;
}

#userDropdown.user-dropdown .dropdown-item {
  min-height: 36px !important;
  padding: 0 12px !important;
  border-radius: var(--afh-radius-xs) !important;
  background: transparent !important;
  color: var(--afh-color-text) !important;
  font-family: var(--afh-font-family) !important;
  font-size: var(--afh-button-font-size) !important;
  font-weight: var(--afh-button-font-weight) !important;
  transition:
    background-color 0.14s ease,
    color 0.14s ease,
    transform 0.14s ease !important;
}

#userDropdown.user-dropdown .dropdown-item:hover,
#userDropdown.user-dropdown #logoutBtn:hover {
  background: var(--afh-color-primary-soft) !important;
  color: var(--afh-color-primary) !important;
  transform: translateY(-1px);
}

#userDropdown.user-dropdown .dropdown-item:active {
  transform: translateY(0);
}

.onb-page .onb-shell {
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  padding: 0 !important;
  box-shadow: none !important;
}

.onb-page .onb-card-main {
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  padding: 0 !important;
  box-shadow: none !important;
}

.onb-page .onb-card-table {
  border-color: var(--afh-color-border) !important;
  border-radius: var(--afh-card-radius) !important;
  background: var(--afh-color-surface) !important;
  box-shadow: var(--afh-card-shadow) !important;
}

.onb-page #onbExportBtn {
  border-color: var(--afh-action-utility-border) !important;
  background: var(--afh-action-utility-bg) !important;
  color: var(--afh-action-utility-text) !important;
}

.onb-page #onbExportBtn:hover:not(:disabled) {
  background: var(--afh-action-utility-bg-hover) !important;
  box-shadow: var(--afh-button-shadow-hover) !important;
}

.onb-page .onb-table th,
.onb-page .onb-table td {
  padding: 6px 8px !important;
  font-size: 11.5px !important;
}

.onb-page .onb-table {
  width: max-content !important;
  min-width: 100% !important;
}

.onb-page .onb-table thead th {
  background: var(--afh-table-head-bg) !important;
  color: var(--afh-color-text) !important;
  letter-spacing: 0 !important;
  padding: 0 !important;
}

.onb-page .onb-th-wrap {
  width: 100% !important;
  height: 100% !important;
  align-items: stretch !important;
}

.onb-page .onb-sort-btn {
  width: 100% !important;
  height: 100% !important;
  min-height: 36px !important;
  padding: 8px 7px !important;
  gap: 5px !important;
  font-size: 11.5px !important;
  letter-spacing: 0 !important;
  justify-content: center !important;
  text-align: center !important;
  text-transform: none !important;
}

.onb-page .onb-th-wrap > .onb-sort-btn {
  width: 100% !important;
  height: 100% !important;
  border-radius: 0 !important;
}

.onb-page .onb-sort-indicator {
  position: relative !important;
  top: 0 !important;
}

.onb-page .onb-sort-btn:not(.is-active) .onb-sort-indicator {
  top: -2px !important;
}

.onb-page .onb-sort-btn:hover {
  background: rgba(15, 23, 42, 0.06) !important;
}

.onb-page .onb-status {
  margin-left: 3px !important;
  font-size: 13px !important;
}

.onb-page .onb-table-info {
  display: flex !important;
  align-items: center !important;
  gap: 8px !important;
  flex-wrap: wrap !important;
}

.onb-page .onb-info-pill {
  display: inline-flex !important;
  align-items: center !important;
  min-height: 24px !important;
  padding: 3px 8px !important;
  border: 1px solid currentColor !important;
  border-radius: 3px !important;
  background: transparent !important;
  color: #334155 !important;
  box-shadow: none !important;
  font-size: 12px !important;
  font-weight: 750 !important;
  line-height: 1.2 !important;
  white-space: nowrap !important;
}

.afh-info-pills,
.recruitee-audit-info-pills {
  display: flex !important;
  align-items: center !important;
  gap: 8px !important;
  flex-wrap: wrap !important;
}

.afh-info-pill,
.recruitee-audit-info-pill {
  display: inline-flex !important;
  align-items: center !important;
  min-height: 24px !important;
  padding: 3px 8px !important;
  border: 1px solid currentColor !important;
  border-radius: 3px !important;
  background: transparent !important;
  color: #334155 !important;
  box-shadow: none !important;
  font-size: 12px !important;
  font-weight: 750 !important;
  line-height: 1.2 !important;
  white-space: nowrap !important;
}

.onb-page .onb-table tbody tr:nth-child(even),
.onb-page .onb-table tbody tr:nth-child(even) td {
  background: #f6f7f9 !important;
}

.onb-page .onb-table tbody tr:hover,
.onb-page .onb-table tbody tr:hover td,
.onb-page .onb-table tbody tr:nth-child(even):hover,
.onb-page .onb-table tbody tr:nth-child(even):hover td {
  background: #eef1f4 !important;
}

.onb-page .onb-cell-missing-x,
.onb-page .bezirk-flag.bad {
  border-radius: 999px !important;
  background: #fee2e2 !important;
  color: #b91c1c !important;
  box-shadow: none !important;
  filter: none !important;
  transition: none !important;
  transform: none !important;
}

.onb-page .bezirk-flag.ok {
  border-radius: 999px !important;
  background: #dcfce7 !important;
  color: #15803d !important;
  box-shadow: none !important;
  filter: none !important;
  transition: none !important;
  transform: none !important;
}

.onb-page .onb-cell-missing-x:hover,
.onb-page .bezirk-flag:hover {
  box-shadow: none !important;
  filter: none !important;
  transform: none !important;
}

.onb-page .onb-table tbody td:has(.onb-cell-missing-x),
.onb-page .onb-table tbody td:has(.bezirk-flag) {
  text-align: center !important;
  vertical-align: middle !important;
}

.afh-job-modal-message,
.onb-modal-error,
.tkm-modal-error,
.tlk-modal-backdrop.is-message .tlk-modal-error,
.recruitee-verteiler-load-modal .onb-modal-error {
  font-family: var(--afh-font-family) !important;
  font-size: 14px !important;
  font-weight: 700 !important;
  line-height: 1.45 !important;
  color: var(--afh-action-danger-bg) !important;
}

.afh-job-modal-message {
  min-height: 54px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  margin: 0 !important;
  padding: 4px 0 !important;
  text-align: center !important;
}

.onb-modal-title:not(.is-hidden) ~ .onb-modal-progress:not(.is-hidden),
.tkm-modal-title:not(.is-hidden) ~ .tkm-modal-progress:not(.is-hidden) {
  margin-top: 18px !important;
}

.onb-modal-progress .onb-progress-text,
.tkm-modal-progress .tkm-progress-text {
  color: #334155 !important;
}

@media (max-width: 720px) {
  :root {
    --afh-table-cell-padding: 9px 10px;
  }

  .container {
    padding: 18px;
  }
}
