html, body { height: 100%; }

/* ━━━ BakeIT Design Tokens (bk-*) — gemeinsame Foundation (plattformweit identisch) ━━━
   Aus dem Launchpad als shared Foundation übernommen; lokale Styles nutzen den bk-Prefix
   damit sub-app-spezifische Werte nicht kollidieren. */
:root {
  --bk-color-amber: #f59e2c;
  --bk-color-amber-bg: rgba(245, 158, 44, 0.08);
  --bk-radius-card: 0.75rem;
  --bk-radius-panel: 0.5rem;
  --bk-radius-chip: 0.375rem;
  --bk-shadow-tile: 0 0.125rem 0.5rem rgba(0,0,0,0.06);
  --bk-shadow-tile-hover: 0 0.25rem 0.875rem rgba(0,0,0,0.12);
  --bk-font-mono: "Fira Code", "Cascadia Code", "SF Mono", Consolas, "Courier New", monospace;
  --bk-content-max-width: 1200px;
  --bk-content-padding: 1.5rem;
}

/* Avatar-Icon: object-fit: contain verhindert Verzerrung (analog Launchpad) */
.sapFAvatarImage {
  object-fit: contain !important;
}

.bkHeaderTitle {
  color: var(--sapShell_TextColor);
  font-weight: 600;
}
.bkHeaderLink,
.bkHeaderLink .sapMText,
.bkHeaderLink .sapMLnk {
  color: var(--sapShell_TextColor) !important;
}

/* Kunden-Umschalter im Header: feste Breite, kein Ueberlauf */
.bkHeaderKundeLabel,
.bkHeaderKundeLabel .sapMLabel {
  color: var(--sapShell_TextColor) !important;
}
.bkHeaderKundeSelect {
  max-width: 13rem;
}
.bkHeaderKundeSelect .sapMSltLabel {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.bkPage {
  background-color: var(--sapBackgroundColor, #f5f6f7);
}
/* Dashboard-Karten */
.bkCard {
  box-shadow: var(--bk-shadow-tile, 0 0.125rem 0.5rem rgba(0,0,0,0.06));
  border-radius: var(--bk-radius-card, 0.75rem);
}
.bkCardLabel {
  font-weight: 600;
  min-width: 5rem;
}

/* Fehler-Item-Board */
.bkBoardCol {
  background-color: var(--sapTile_Background, #fff);
  border-radius: 0.5rem;
  min-height: 8rem;
}
.bkItemCard {
  background: var(--sapList_Background, #fff);
  border: 1px solid var(--sapList_BorderColor, #e5e5e5);
  border-left: 4px solid var(--sapInformationColor, #0a6ed1);
  border-radius: 0.375rem;
  padding: 0.5rem 0.75rem;
  width: 100%;
}
.bkMuted {
  color: var(--sapContent_LabelColor, #6a6d70);
  font-size: 0.8125rem;
}

/* Code-Anzeige im Test-Detail */
.bkCode {
  /* Verhindert, dass die TextArea über den Container hinauswächst (kein sapUiSmallMargin) */
  width: 100%;
  box-sizing: border-box;
}
.bkCode textarea {
  font-family: "Courier New", Consolas, monospace;
  font-size: 0.8125rem;
  line-height: 1.4;
  box-sizing: border-box;
}

/* Screenshot-Thumbnail */
.bkShot {
  cursor: pointer;
  border: 1px solid var(--sapList_BorderColor, #e5e5e5);
  border-radius: 0.25rem;
  max-width: 100%;
  height: auto;
}
.bkKeyError {
  color: var(--sapNegativeColor, #bb0000);
}

/* ===================== Startmenü / Home ===================== */
.bkHeaderHome .sapMBtnInner {
  color: var(--sapShell_TextColor);
}
.bkHomeContent {
  padding: 1rem 1.5rem 2rem 1.5rem;
  box-sizing: border-box;
  max-width: 100%;
}
.bkSectionTitle {
  color: var(--sapGroup_TitleTextColor, #32363a);
}
.bkHomeSearch {
  max-width: 100%;
}

/* Kachelraster: nutzt GridList/GridBoxLayout, daher kein eigenes Grid noetig.
   Wir stylen nur die Kachel-Optik und verhindern Overflow. */
.bkTileGrid {
  width: 100%;
  box-sizing: border-box;
}
.bkTileGrid .sapMLIB,
.bkTileGrid .sapMGLI {
  padding: 0;
  border: 0;
  background: transparent;
}
.bkTileItem {
  background: transparent;
}
.bkTile {
  background: var(--sapTile_Background, #fff);
  border: 1px solid var(--sapTile_BorderColor, var(--sapList_BorderColor, #e5e5e5));
  border-radius: var(--bk-radius-card, 0.75rem);
  box-shadow: var(--bk-shadow-tile, 0 0.125rem 0.5rem rgba(0,0,0,0.06));
  padding: 1rem 1.125rem;
  box-sizing: border-box;
  width: 100%;
  min-height: 6.5rem;
  transition: box-shadow 0.15s ease, transform 0.15s ease;
}
.bkTile:hover {
  box-shadow: var(--bk-shadow-tile-hover, 0 0.25rem 0.875rem rgba(0,0,0,0.12));
  transform: translateY(-1px);
}
.bkTileRecent {
  min-height: 4.25rem;
  border-left: 4px solid var(--sapInformationColor, #0a6ed1);
}
.bkTileTitle {
  font-weight: 600;
  overflow-wrap: anywhere;
}
.bkTileMutedIcon {
  color: var(--sapContent_NonInteractiveIconColor, #b3b3b3);
}
.bkTileStats {
  margin-top: 0.5rem;
}

/* ===================== FCL Drilldown ===================== */
/* Etwas Luft zwischen ShellBar und Spalteninhalt (sonst wirken die Spaltentitel
   gedrückt) — analog Backstraße. */
.bkFcl {
  height: 100%;
  padding-top: 1rem;
  box-sizing: border-box;
}
.bkFclCol {
  background-color: var(--sapBackgroundColor, #f5f6f7);
}

/* ===================== Side-Navigation (Icon-Rail) + Body-Layout (Docs-Konzept) ===================== */
/* Body: Rail links + FCL rechts, füllt die Page-Höhe. */
.bkBody {
  height: 100%;
  width: 100%;
}
.bkBody > .sapFFCL {
  flex: 1 1 auto;
  min-width: 0;
  height: 100%;
}
/* Icon-Rail: schmale, immer sichtbare Navigationsleiste (Übersicht/Tests/Läufe/Items). */
.bkRail {
  flex: 0 0 auto;
  width: 3.5rem;
  height: 100%;
  box-sizing: border-box;
  padding: 0.5rem 0;
  gap: 0.25rem;
  align-items: center;
  background: var(--sapShell_Background, var(--sapBaseColor, #fff));
  border-right: 1px solid var(--sapGroup_ContentBorderColor, #e5e5e5);
}
.bkRail .bkRailBtn.sapMBtn {
  width: 2.75rem;
  min-width: 2.75rem;
  height: 2.75rem;
  margin: 0;
  border-radius: 0.5rem;
}
.bkRail .bkRailBtn .sapMBtnIcon {
  font-size: 1.125rem;
}
/* aktiver Eintrag = Emphasized: Tint statt Vollfarbe + farbiges Icon. */
.bkRail .bkRailBtn .sapMBtnInner.sapMBtnEmphasized {
  background-color: var(--sapButton_Selected_Background, rgba(13,110,253,0.16)) !important;
  border-color: transparent !important;
  box-shadow: none !important;
}
.bkRail .bkRailBtn .sapMBtnInner.sapMBtnEmphasized .sapMBtnIcon {
  color: var(--sapButton_Selected_TextColor, var(--sapHighlightColor, #0070f2)) !important;
}
/* linke Akzentleiste am Rail-Rand für den aktiven Eintrag. */
.bkRail .bkRailBtn.sapMBtn:has(.sapMBtnEmphasized) { position: relative; }
.bkRail .bkRailBtn.sapMBtn:has(.sapMBtnEmphasized)::before {
  content: "";
  position: absolute;
  left: -0.375rem;
  top: 0.45rem;
  bottom: 0.45rem;
  width: 0.1875rem;
  border-radius: 0 0.125rem 0.125rem 0;
  background: var(--sapHighlightColor, #0070f2);
}
/* Content-Page (Begin-Spalte): Kategorie-Sektion füllt die Höhe; innerer Scroll. */
.bkContentPage .sapMPageContent {
  display: flex;
  flex-direction: column;
  height: 100%;
}
.bkProjBar { padding-left: 0.5rem; }
.bkProjSelect { min-width: 12rem; }
.bkProjSelect.sapMSlt { border-radius: 0.5rem; }
.bkProjSelect.sapMSlt:hover { border-color: var(--sapField_Hover_BorderColor, var(--sapHighlightColor, #0070f2)); }
/* Kategorie-Sektion füllt die verbleibende Höhe; innere Scroll-Container scrollen. */
.bkCatSection {
  flex: 1 1 auto;
  min-height: 0;
  display: flex;
  flex-direction: column;
  overflow: hidden;
}
.bkCatSection > .sapMList,
.bkCatSection > .sapMTable { overflow: auto; }
/* Tests-Tab: der NavContainer (KEIN FlexBox → von der bkCatSection-VBox in ein .sapMFlexItem
   gewickelt) muss die Resthöhe der Sektion füllen. Sonst bleibt der Wrapper content-hoch
   (~4 Items), die enableScrolling-Page darin bekommt keine bounded Scroll-Fläche, und die
   growing-List zeigt nur die paar sichtbaren Items + darunter Leerraum (kein Scroll zu den
   restlichen). NUR der Wrapper — die innere Page/List NICHT auf flex zwingen (das kollabierte
   sie auf 0, verifiziert). */
.bkCatSection > .sapMFlexItem:has(> .bkTestsNav) { flex: 1 1 auto; min-height: 0; }

/* Spalten-Kopfzeile (Page-Header/Bar): vertikales Padding + Mindesthöhe gegen den
   "gedrückten" Eindruck direkt unter der ShellBar. */
.bkFclCol > .sapMPageHeader .sapMBar,
.bkFclCol > header .sapMBar {
  padding-top: 0.35rem;
  padding-bottom: 0.35rem;
  min-height: 2.75rem;
  box-sizing: border-box;
}
/* Master-Seite (Projekt-Inhalt in begin-Spalte): leicht abgesetzte Hintergrundfarbe
   damit die Trennung zur mid-Spalte (Detail) optisch klar ist. */
.bkMasterPage {
  background-color: var(--sapBackgroundColor, #f5f6f7);
}
/* Testpakete Tab-Inhalt: Shell-BG (dunkler) damit die Paket-Karten (List-BG, etwas heller)
   sich davon abheben — gibt dem Tab-Inhalt Tiefe/Struktur statt eintönigem Schwarz. */
.bkMasterPage .sapMITBContainerContent,
.bkMasterPage .sapMITBContent,
.bkMasterPage .sapMPageEnableScrolling {
  background-color: var(--sapShell_Background, #12171c) !important;
}
/* Detail-Seite (mid-Spalte): weißer/hellerer Hintergrund für klare Hierarchie. */
.bkDetailPage {
  background-color: var(--sapBaseColor, #fff);
}
/* Detail-Spalten-Inhalt scrollt intern, nie horizontal ausbrechen */
.bkEndContent,
.bkDetailBody {
  width: 100%;
  box-sizing: border-box;
  overflow-wrap: anywhere;
}
.bkDetailBody .sapMObjStatus,
.bkDetailBody .sapMText {
  overflow-wrap: anywhere;
}
/* Konsistentes horizontales Padding im Detail-Body — aber nicht zusätzlich zu
   Inhalten die eigenes Padding mitbringen (z.B. sapUiContentPadding-VBoxen). */
.bkDetailBody > .sapMOH {
  padding-left: 1rem;
  padding-right: 1rem;
}
/* Prozess-/Run-Banner, Status-MessageStrip, Run-Controls und leerer Prozess-Hinweis
   sind direkte Kinder der Body-VBox (renderType=Bare) und klebten bisher am linken Rand —
   nur ObjectHeader/Toolbar hatten Padding. Konsistente 1rem links/rechts wie der Header.
   Die OverflowToolbar (.sapMTB) bringt bereits etwas eigenes Padding mit → separat (s.u.),
   damit es nicht doppelt wird. Die IconTabBar bleibt UNANGETASTET (volle Breite + eigenes
   Content-Padding). */
.bkDetailBody > .sapMMsgStrip,
.bkDetailBody > .bkProzessHeader,
.bkDetailBody > .bkProzessHeaderEmpty,
.bkDetailBody > .bkDetailRunControls {
  padding-left: 1rem;
  padding-right: 1rem;
  box-sizing: border-box;
}
.bkDetailBody > .sapMTB {
  padding-left: 1rem;
  padding-right: 1rem;
}
/* Tabellen in den FCL-Spalten duerfen nie breiter als die Spalte werden */
.bkFclCol .sapMListTbl,
.bkFullTabBar .sapMListTbl {
  table-layout: auto;
  width: 100%;
}
/* IconTabBar fuellt die mittlere Spalte */
.bkFullTabBar > .sapMITBContainerContent,
.bkFullTabBar .sapMITBContent {
  height: auto;
}

/* ===================== Settings-Dialog (Launchpad-Stil) ===================== */
.bkSettings { height: 26rem; }
.bkSettingsNav { flex: 0 0 13rem; border-right: 1px solid var(--sapGroup_ContentBorderColor, #e5e5e5); }
.bkSettingsBody { flex: 1 1 auto; }
.bkSettingsSection { padding: 1.25rem 1.5rem; gap: 0.4rem; }
.bkSettingsKv { gap: 0.75rem; margin-top: 0.25rem; }
.bkSettingsKvKey { min-width: 7rem; color: var(--sapContent_LabelColor, #6a6d70); }

/* ===================== Testpakete (Drill-down Pakete → Testcases) ===================== */
.bkPaketPanel { margin: 0 0 0.75rem 0; }
.bkPaketPanel .sapMPanelHdr { font-weight: 600; }

/* NavContainer im Tests-Tab braucht eine echte Höhe: der IconTabFilter-Content
   ist auf height:auto gesetzt und würde den NavContainer auf 0 kollabieren. */
.bkFullTabBar .sapMITBContainerContent--Tests,
.bkTestsNav { min-height: 60vh; height: 100%; }
/* Stabile Breite des Status-Selects (kein Zusammenklappen auf einen Pfeil). */
.bkStatusSelect { min-width: 11rem; }

/* ── Testcase-Liste (Ebene 2): Filterleiste + volle Höhe + konsistentes Padding ── */
/* Die Page muss die NavContainer-Höhe füllen und ihren Content flex-strecken, damit
   die Liste die volle verfügbare Höhe einnimmt (Scrollbalken erst am Viewport-Ende). */
/* NUR die Page füllt; die Scroll-Section NICHT auf height:100% zwingen — sonst ignoriert sie
   den Page-Header (~40px) und ragt unten aus dem Viewport (letzte Karte halb abgeschnitten).
   UI5 positioniert die enableScrolling-Section selbst korrekt (top:headerHeight, bottom:0). */
.bkTestsPage { height: 100%; }
.bkTestsPage > section.sapMPage > .sapMPageEnableScrolling,
.bkTestsPage .sapMPageContent { display: flex; flex-direction: column; height: 100%; min-height: 0; }
.bkTestsList { flex: 1 1 auto; min-height: 0; }
/* Liste scrollt intern statt die ganze Seite — volle Höhe genutzt. */
.bkTestsList > .sapMListUl, .bkTestsList .sapMListItems { min-height: 0; }
/* Filterleiste: konsistentes seitliches Padding (Inhalt klebt nicht am Rand) + Luft. */
.bkTestsFilterBar.sapMTB { padding: 0.4rem 1rem; gap: 0.5rem; }
.bkTestsFilterCount { white-space: nowrap; }
/* Listeneinträge: konsistenter seitlicher Einzug (vorher flush am Rand). */
.bkTestsList .sapMObjLItem, .bkTestsList .sapMLIB { padding-left: 1rem; padding-right: 1rem; box-sizing: border-box; }
/* gedimmter Zähler-/Hilfstext (analog Backstraße .bsDim). */
.bkDim { color: var(--sapContent_LabelColor, #6a6d70); }

/* Test-Detail: Beschreibung + Schritte + Lauf-Historie */
.bkDescBox { padding: 0.75rem 1rem; }
.bkStepList .sapMSLI-info { white-space: normal; }
.bkRunThumb {
  cursor: pointer;
  border: 1px solid var(--sapList_BorderColor, #e5e5e5);
  border-radius: 0.25rem;
  background: var(--sapList_Background, #fff);
}
/* Lauf-Zeile im "Läufe dieses Testfalls"-Tab: seitliches Padding damit Inhalt
   nicht am Rand klebt; vertikaler Abstand zwischen den Einträgen. */
.bkRunRow {
  padding: 0.625rem 1rem;
  box-sizing: border-box;
  width: 100%;
}
/* Lauf-Ergebnis-Item im Run-Detail: seitliches Padding für sauberen Einzug. */
.bkResultItem {
  padding: 0.5rem 1rem;
  width: 100%;
  box-sizing: border-box;
}

/* Testdaten-Tab: äussere Box ohne eigenes Padding (kommt von bkTestdatenToolbar + sapUiContentPadding-Wrapper) */
.bkTestdatenBox { width: 100%; box-sizing: border-box; }
/* Toolbar im Testdaten-Tab: gleiche seitliche Einrückung wie der Inhalt darunter (sapUiContentPadding = 1rem) */
.bkTestdatenToolbar.sapMTB { padding-left: 1rem; padding-right: 0.5rem; }

/* Testdaten-Varianten (Input/Output) */
.bkVarianteCard { padding: 0.5rem 0; width: 100%; box-sizing: border-box; }
.bkVarianteCol { flex: 1 1 16rem; min-width: 14rem; }

/* Varianten-Header: Name-Zeile + Aktions-Buttons */
.bkVarianteHeader { gap: 0.5rem; margin-bottom: 0.25rem; }
.bkVarianteNameRow { flex: 1 1 auto; min-width: 0; gap: 0.375rem; }
.bkVarianteIcon { color: var(--sapInformationColor, #0a6ed1); font-size: 1rem; flex-shrink: 0; }
.bkVarianteNameInput.sapMInput { flex: 1 1 auto; min-width: 10rem; font-weight: 600; }
.bkVarianteActions { flex-shrink: 0; gap: 0; }

/* Key-Value-Formular-Zeilen */
.bkKvList.sapMList .sapMLIB { padding: 0; border: 0; background: transparent; }
.bkKvRow { gap: 0.5rem; padding: 0.25rem 0; align-items: center; width: 100%; box-sizing: border-box; }
.bkKvKey.sapMLabel { flex: 0 0 7rem; min-width: 5rem; color: var(--sapContent_LabelColor, #6a6d70); font-size: 0.8125rem; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.bkKvInput.sapMInput { flex: 1 1 auto; min-width: 6rem; }
.bkVarianteFormRow { gap: 0.75rem; }

/* UI-Review: doppeltes .bkAddDlgBody hier entfernt — kanonische Definition im B2-Block unten. */

/* Evidence-Protokoll: Schritte-Liste im Run-Detail unter jedem Testcase */
.bkSchritteProtokolList { width: 100%; }
.bkSchritteList.sapMList .sapMLIB { padding: 0; border: 0; background: transparent; }
.bkSchrittRow { gap: 0.375rem; padding: 0.125rem 0; }
.bkSchrittIcon { font-size: 0.75rem; color: var(--sapContent_NonInteractiveIconColor, #b3b3b3); flex-shrink: 0; }
.bkSchrittLabel { font-size: 0.8125rem; color: var(--sapContent_LabelColor, #6a6d70); overflow-wrap: anywhere; }

/* Evidence-Timeline: pro Schritt Label + Screenshot vertikal gestapelt */
.bkEvidenceTimeline {
  width: 100%;
  box-sizing: border-box;
  padding: 0 1rem 0.25rem 1rem;
}
.bkEvidenceList.sapMList .sapMLIB {
  padding: 0;
  border: 0;
  background: transparent;
}
.bkEvidenceStep {
  width: 100%;
  box-sizing: border-box;
  padding: 0.375rem 0 0.5rem 0;
  border-bottom: 1px solid var(--sapList_BorderColor, #e5e5e5);
}
.bkEvidenceStep:last-child {
  border-bottom: none;
  padding-bottom: 0.125rem;
}
.bkEvidenceStepHeader {
  gap: 0.375rem;
  margin-bottom: 0.375rem;
}
/* Screenshot-Thumbnail in der Evidence-Timeline */
.bkEvidenceThumb {
  max-width: 22rem;
  max-height: 12rem;
  object-fit: contain;
  display: block;
  cursor: zoom-in;
  border-radius: 0.25rem;
}

/* ===================== Run-Detail: Paket-Hierarchie ===================== */

/* Zusammenfassungsleiste unterhalb des ObjectHeaders */
.bkRunSummaryBar {
  padding: 0.375rem 1rem;
  background: var(--sapList_AlternatingRowBackground, rgba(0,0,0,0.025));
  border-bottom: 1px solid var(--sapList_BorderColor, #e5e5e5);
  gap: 0.5rem;
  box-sizing: border-box;
  width: 100%;
}

/* Paket-Listencontainer: seitliches Padding statt Margin an jedem Panel */
.bkPaketListBox,
.bkPaketListBox.sapMList {
  padding: 0.5rem 1rem 0 1rem;
  box-sizing: border-box;
  width: 100%;
  overflow: hidden;
}
/* Der CustomListItem-Wrapper darf kein zusätzliches Padding bringen */
.bkPaketListBox .sapMLIB {
  padding: 0;
  background: transparent;
  border: 0;
}

/* Paket-Panel im Run-Detail: klare Gruppen-Trennung. */
.bkPaketRunPanel {
  box-sizing: border-box;
  width: 100%;
  overflow: hidden;
}
.bkPaketRunPanel > .sapMPanelHdr {
  background: var(--sapGroup_TitleBackground, #f0f4f7);
  border-bottom: 2px solid var(--sapContent_FocusColor, #0a6ed1);
  border-radius: 0.375rem 0.375rem 0 0;
}
.bkPaketRunHeader.sapMTB {
  padding: 0 0.75rem;
  min-height: 2.75rem;
}
.bkPaketIcon {
  color: var(--sapInformationColor, #0a6ed1);
  font-size: 1rem;
}
.bkPaketTitle.sapMTitle {
  font-weight: 700;
  font-size: 0.9375rem;
}

/* Testcase-Item innerhalb eines Pakets */
.bkTcItem {
  padding: 0.625rem 1rem;
  width: 100%;
  box-sizing: border-box;
}
.bkTcHeader {
  gap: 0.5rem;
}
.bkTcIcon {
  font-size: 1.125rem;
  flex-shrink: 0;
}
.bkTcName {
  font-weight: 600;
  font-size: 0.9375rem;
}
.bkTcVersion {
  font-size: 0.8rem;
  margin-top: 0.0625rem;
}
.bkTcMeta {
  gap: 0.375rem;
  flex-shrink: 0;
}
.bkTcPlayBtn.sapMBtn {
  color: var(--sapInformationColor, #0a6ed1);
}
.bkTcPlayBtn.sapMBtn:hover {
  background: var(--sapButton_Hover_Background, rgba(10,110,209,0.08));
}

/* Thumbnail-Bild im Testcase (kleiner als 22rem, kein zu grosses Platznehmen) */
.bkTcThumb {
  max-width: 18rem;
  max-height: 10rem;
  object-fit: contain;
  display: block;
}

/* ===================== Responsive: Phone (max 480px) ===================== */
@media (max-width: 480px) {
  /* Varianten-Spalten (Input/Output) untereinander auf Phone */
  .bkVarianteCol {
    flex: 1 1 100% !important;
    min-width: 0 !important;
  }
  .bkVarianteFormRow {
    flex-direction: column;
    gap: 0.5rem;
  }

  /* "Variante hinzufügen"-Dialog: Spalten auch untereinander */
  .bkAddDlgCol {
    flex: 1 1 100% !important;
    min-width: 0 !important;
  }
  .bkAddDlgRow {
    flex-direction: column;
    gap: 0.5rem;
  }
  /* Trennlinie zwischen Input/Erwartet wegfallen lassen wenn gestapelt */
  .bkAddDlgColInput {
    border-right: none;
    padding-right: 0;
    border-bottom: 1px solid var(--sapList_BorderColor, #e5e5e5);
    padding-bottom: 0.75rem;
  }

  /* KV-Zeilen: Label + Value untereinander wenn sehr eng */
  .bkKvRow {
    flex-wrap: wrap;
  }
  .bkKvKey.sapMLabel {
    flex: 0 0 100%;
  }
  .bkKvInput.sapMInput,
  .bkKvValueDisplay.sapMText {
    flex: 1 1 100%;
  }

  /* Adhoc Speed-Bar: immer umbrechen, kein Overflow */
  .bkAdhocSpeedBar {
    flex-wrap: wrap;
  }

  /* Adhoc-Dialog min-width entfernen (wuerde auf Phone ueberlaufen) */
  .bkAdhocRunBody {
    min-width: 0 !important;
  }

  /* "Neuer Testfall"-Dialog min-width entfernen */
  .bkNewTestDlgBody {
    min-width: 0 !important;
  }

  /* Screenshot-Thumbnails skalieren */
  .bkTcThumb,
  .bkTestRunThumb,
  .bkRunThumb,
  .bkShot,
  .bkEvidenceThumb {
    max-width: 100% !important;
    width: 100%;
    height: auto;
    max-height: none;
  }

  /* Player: max-height begrenzen auf Phone */
  .bkPlayerImg {
    max-height: 40vh;
  }
  .bkAdhocSlideshowImg {
    max-height: 40vh;
  }
  .bkAdhocVideoWrapper video {
    max-height: 40vh;
  }

  /* Settings-Dialog: Navigation und Body untereinander */
  .bkSettings {
    flex-direction: column;
    height: auto !important;
  }
  .bkSettingsNav {
    flex: 0 0 auto !important;
    width: 100% !important;
    border-right: none;
    border-bottom: 1px solid var(--sapGroup_ContentBorderColor, #e5e5e5);
  }
  .bkSettingsBody {
    width: 100% !important;
  }

  /* Aktionsleiste im TestDetail: Elemente umbrechen */
  .bkDetailActions.sapMTB {
    flex-wrap: wrap;
    height: auto !important;
    min-height: 2.75rem;
  }

  /* Schritt-Editor-Zeile umbrechen */
  .bkStepEditorRow {
    flex-wrap: wrap;
    align-items: flex-start;
  }
  .bkStepEditorSelect,
  .bkStepEditorZielSelect {
    min-width: 0 !important;
    flex: 1 1 45%;
  }
  .bkStepEditorInput {
    flex: 1 1 100%;
    min-width: 0 !important;
  }

  /* Lauf-Zeile Header umbrechen */
  .bkTestRunHeader {
    flex-direction: column;
    align-items: flex-start;
  }
  .bkTestRunActions {
    margin-top: 0.25rem;
  }

  /* Varianten-Summary kuerzer */
  .bkVarianteSummaryText.sapMText {
    max-width: 10rem !important;
  }

  /* Player-Controls zentriert */
  .bkPlayerControls {
    justify-content: center;
  }
  .bkAdhocSlideshowControls {
    justify-content: center;
  }
}

/* ===================== Screenshot-Player ===================== */
/* Player-Panel: nur vertikaler Abstand, kein horizontales Margin (würde
   bei width:100% zu Overflow führen). Optisches Einrücken via border. */
.bkPlayerPanelOuter {
  box-sizing: border-box;
  width: 100%;
  max-width: 100%;
  overflow: hidden;
  margin-top: 0.75rem;
}
.bkPlayerPanel {
  border: 2px solid var(--sapInformationColor, #0a6ed1);
  border-radius: 0.5rem;
  background: var(--sapBaseColor, #fff);
  box-sizing: border-box;
}
.bkPlayer {
  padding: 0.75rem 1rem 1rem 1rem;
  box-sizing: border-box;
  width: 100%;
}
.bkPlayerImgBox {
  width: 100%;
  background: var(--sapBackgroundColor, #f5f6f7);
  border: 1px solid var(--sapList_BorderColor, #e5e5e5);
  border-radius: 0.375rem;
  min-height: 12rem;
  overflow: hidden;
  box-sizing: border-box;
}
.bkPlayerImg {
  max-width: 100%;
  max-height: 55vh;
  object-fit: contain;
  cursor: zoom-in;
  display: block;
}
.bkPlayerStepLabel {
  font-weight: 600;
  font-size: 0.875rem;
  color: var(--sapContent_LabelColor, #6a6d70);
}
.bkPlayerSlider {
  padding: 0;
}
.bkPlayerControls {
  gap: 0.5rem;
}

/* ===================== Ad-hoc-Lauf Dialog ===================== */
/* Äußeres VBox-Padding damit Inhalt nicht direkt am Rand klebt */
.bkAdhocRunBody {
  padding: 0.75rem 1rem;
  box-sizing: border-box;
  min-width: 20rem;
}
/* Card c_330daa9f17: KI-Generierungs-Dialog — Log monospace, dezent. */
.bkGenDlgBody { padding: 0.75rem 1rem; box-sizing: border-box; min-width: 22rem; }
.bkGenLog textarea {
  font-family: "Courier New", monospace;
  font-size: 0.78rem;
  line-height: 1.35;
  background: var(--sapList_Background, rgba(127,127,127,0.06));
}

/* Card c_843bf94f69: Live-Filmstreifen — horizontale Thumbnail-Leiste aller Frames. */
.bkAdhocStrip {
  width: 100%;
  box-sizing: border-box;
  white-space: nowrap;
}
.bkAdhocStripInner {
  gap: 0.4rem;
  padding: 0.25rem 0;
}
.bkAdhocStripThumb {
  height: 4.25rem;
  width: auto;
  border: 1px solid var(--sapGroup_ContentBorderColor, #d9d9d9);
  border-radius: 0.375rem;
  box-shadow: 0 1px 3px rgba(0,0,0,0.18);
  flex: 0 0 auto;
}
/* Loading-/Wait-State: zentrierter Block mit Mindesthöhe */
.bkAdhocRunLoadingBox {
  min-height: 10rem;
  width: 100%;
  box-sizing: border-box;
}
/* Statustext unter dem BusyIndicator oder Camera-Icon */
.bkAdhocRunStatusText {
  font-size: 0.9rem;
  color: var(--sapContent_LabelColor, #6a6d70);
  text-align: center;
}
/* Video-Wrapper im Ad-hoc-Dialog: füllt verfügbare Breite, runder Rand */
.bkAdhocVideoWrapper {
  width: 100%;
  box-sizing: border-box;
  background: #000;
  border-radius: 0.375rem;
  overflow: hidden;
}
.bkAdhocVideoWrapper video {
  width: 100%;
  max-height: 64vh;
  display: block;
}

/* Step-Editor im Beschreibung-Tab */
.bkStepEditorRow { padding: 0.25rem 0; gap: 0.375rem; align-items: center; flex-wrap: wrap; }
.bkStepEditorList .sapMLIB { padding: 0; border: 0; background: transparent; }
.bkStepEditorSelect { min-width: 8rem; }
.bkStepEditorZielSelect { min-width: 9rem; }
.bkStepEditorInput { flex: 1 1 8rem; min-width: 6rem; }
.bkNewTestDlgBody { padding: 0.75rem 0.5rem; min-width: 28rem; }
.bkNewTestStepRow { gap: 0.25rem; padding: 0.2rem 0; flex-wrap: wrap; }

/* Adhoc dialog speed bar */
.bkAdhocSpeedBar { gap: 0.375rem; padding: 0.25rem 0 0.5rem 0; flex-wrap: wrap; align-items: center; }
.bkAdhocSegBar { padding: 0.375rem 0; }
/* UI-Review: .bkAdhocSlideshowImg + .bkAdhocSlideshowControls hier entfernt —
   waren Duplikate; kanonische Definitionen stehen im B5-Slideshow-Block unten. */

/* ===================== B1: Testdaten collapsible + Display/Edit ===================== */
.bkTestdatenList { width: 100%; box-sizing: border-box; padding: 0 1rem 1rem 1rem; }

/* Varianten-Liste: kein ListItem-Padding/Background */
.bkVarianteList.sapMList .sapMLIB { padding: 0; border: 0; background: transparent; }
.bkVarianteListItem.sapMLIB { padding: 0 !important; border: 0 !important; background: transparent !important; }

/* Variante Card 2 (collapsible) */
.bkVarianteCard2 {
  border: 1px solid var(--sapList_BorderColor, #e5e5e5);
  border-radius: 0.5rem;
  background: var(--sapBaseColor, #fff);
  margin-bottom: 0.75rem;
  width: 100%;
  box-sizing: border-box;
  overflow: hidden;
}
/* Header: klickbar, Hover-Effekt */
.bkVarianteCard2Header {
  padding: 0.625rem 1rem;
  cursor: pointer;
  background: var(--sapList_HeaderBackground, #f5f6f7);
  border-bottom: 1px solid var(--sapList_BorderColor, #e5e5e5);
  box-sizing: border-box;
  width: 100%;
  gap: 0.5rem;
  transition: background 0.12s;
}
.bkVarianteCard2Header:hover {
  background: var(--sapList_Hover_Background, rgba(10,110,209,0.05));
}
.bkVarianteExpandIcon { font-size: 0.875rem; color: var(--sapContent_NonInteractiveIconColor, #b3b3b3); flex-shrink: 0; }
.bkVarianteTitleText.sapMText {
  font-weight: 600;
  font-size: 0.9375rem;
  color: var(--sapTextColor, #32363a);
  flex-shrink: 0;
}
.bkVarianteSummaryText.sapMText {
  font-size: 0.8rem;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  max-width: 24rem;
  flex: 1 1 auto;
  min-width: 0;
}

/* Body (expandierter Bereich) */
.bkVarianteCard2Body { padding: 0.75rem 1rem 1rem 1rem; box-sizing: border-box; }

/* Display-Modus: Value-Text */
.bkKvListDisplay.sapMList .sapMLIB { padding: 0; border: 0; background: transparent; }
.bkKvKeyDisplay.sapMLabel {
  flex: 0 0 7rem; min-width: 5rem;
  font-weight: 600;
  color: var(--sapContent_LabelColor, #6a6d70);
  font-size: 0.8125rem;
}
.bkKvValueDisplay.sapMText {
  flex: 1 1 auto;
  font-size: 0.875rem;
  color: var(--sapTextColor, #32363a);
  overflow-wrap: anywhere;
}
.bkVarianteColLabel.sapMLabel { font-size: 0.8rem; text-transform: uppercase; letter-spacing: 0.03em; color: var(--sapContent_LabelColor, #6a6d70); }
.bkVarianteDisplayActions { gap: 0.375rem; }
.bkVarianteEditActions { gap: 0.375rem; padding-top: 0.25rem; }
.bkVarianteEditMode { width: 100%; box-sizing: border-box; }
.bkVarianteDisplayMode { width: 100%; box-sizing: border-box; }

/* ===================== B2: "Variante hinzufügen" Dialog ===================== */
.bkAddDlgBody { padding: 1rem 0.75rem 0.5rem 0.75rem; box-sizing: border-box; }
.bkAddDlgSection { margin-bottom: 1rem; }
.bkAddDlgFieldLabel.sapMLabel { font-weight: 700; margin-bottom: 0.25rem; display: block; }
.bkAddDlgRow { gap: 1rem; margin-top: 0.5rem; flex-wrap: wrap; }
.bkAddDlgCol { flex: 1 1 14rem; min-width: 12rem; box-sizing: border-box; }
.bkAddDlgColHeader.sapMLabel { font-weight: 700; font-size: 0.875rem; display: block; margin-bottom: 0.5rem; border-bottom: 2px solid var(--sapInformationColor, #0a6ed1); padding-bottom: 0.25rem; }
.bkAddDlgColInput { border-right: 1px solid var(--sapList_BorderColor, #e5e5e5); padding-right: 1rem; }
.bkAddDlgColErwartet { padding-left: 0.25rem; }
.bkAddDlgFieldBlock { margin-bottom: 0.625rem; }
.bkAddDlgFieldKey.sapMLabel { font-weight: 600; font-size: 0.8rem; color: var(--sapContent_LabelColor, #6a6d70); margin-bottom: 0.125rem; display: block; }
.bkAddDlgFieldInput.sapMInput { width: 100%; }
.bkAddDlgHint.sapMText { font-size: 0.75rem; color: var(--sapContent_LabelColor, #6a6d70); margin-top: 0.125rem; font-style: italic; }

/* ===================== B5: Slideshow-Panel poliert ===================== */
/* Wrapper-Block für das HTML-Element (füllt die imgBox) */
.bkAdhocSlideshowImgWrapper { width: 100%; display: block; }
/* Slideshow-Bild mit Rahmen + zentriert */
.bkAdhocSlideshowImg {
  width: 100%;
  max-height: 64vh;
  object-fit: contain;
  display: block;
  border-radius: 0.25rem;
  background: var(--sapBackgroundColor, #f5f6f7);
}
/* Label unter dem Bild (B5: prominenter, zentriert) */
.bkAdhocSlideshowLabel { font-weight: 600; font-size: 0.9rem; color: var(--sapTextColor, #32363a); text-align: center; display: block; }
/* Controls aufgeräumt (UI-Review: gap/flex-wrap/align-items aus dem entfernten Duplikat übernommen) */
.bkAdhocSlideshowControls { justify-content: center; align-items: center; gap: 0.5rem; flex-wrap: wrap; padding: 0.375rem 0 0.25rem 0; }

/* ===================== B6: Test-Run-Player im Läufe-Tab ===================== */
.bkTestRunsBox { width: 100%; box-sizing: border-box; }
.bkTestRunsList.sapMList .sapMLIB { padding: 0; border: 0; background: transparent; }
.bkTestRunItem.sapMLIB { padding: 0 !important; }
.bkTestRunCard {
  padding: 0.75rem 1rem;
  width: 100%;
  box-sizing: border-box;
}
.bkTestRunHeader { gap: 0.5rem; margin-bottom: 0.375rem; }
.bkTestRunMeta { gap: 0.5rem; flex: 1 1 auto; min-width: 0; }
.bkTestRunTitle { font-weight: 600; }
.bkTestRunSubtitle.sapMText { font-size: 0.8rem; color: var(--sapContent_LabelColor, #6a6d70); }
.bkTestRunActions { flex-shrink: 0; gap: 0.25rem; }
.bkTestRunSchritte { margin-top: 0.25rem; padding-left: 0.25rem; }
.bkTestRunThumb {
  max-width: 16rem;
  max-height: 9rem;
  object-fit: contain;
  display: block;
  cursor: pointer;
  border: 1px solid var(--sapList_BorderColor, #e5e5e5);
  border-radius: 0.25rem;
  background: var(--sapList_Background, #fff);
}
/* Panel-Abstand: oben extra Margin damit er sich klar vom Läufe-Tab absetzt */
.bkTestRunPlayerPanelOuter { margin: 1rem; }

/* ===================== #75: Testcase-Panels im Run-Detail ===================== */
.bkTcPanelList.sapMList .sapMLIB { padding: 0; border: 0; background: transparent; }
.bkTcPanelListItem.sapMLIB { padding: 0 !important; border: 0 !important; background: transparent !important; }
.bkTcPanel {
  box-sizing: border-box;
  width: 100%;
  overflow: hidden;
}
.bkTcPanel > .sapMPanelHdr {
  background: var(--sapList_HeaderBackground, #f5f6f7);
  border-bottom: 1px solid var(--sapList_BorderColor, #e5e5e5);
}
.bkTcPanelHeader.sapMTB {
  padding: 0 0.75rem;
  min-height: 2.5rem;
}
.bkTcPanelTitleBox {
  flex: 1 1 auto;
  min-width: 0;
  overflow: hidden;
}
.bkTcPanelTitleBox .bkTcName {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

/* ===================== #76: Test-Run-Liste reworked ===================== */
.bkTestRunsList2.sapMList .sapMLIB { padding: 0; border: 0; background: transparent; }
.bkTestRunItem2.sapMLIB { padding: 0 !important; border-bottom: 1px solid var(--sapList_BorderColor, #e5e5e5) !important; }
.bkTestRunItem2.sapMLIB:last-child { border-bottom: none !important; }
.bkTestRunRow2 {
  padding: 0.625rem 1rem;
  gap: 0.75rem;
  width: 100%;
  box-sizing: border-box;
  align-items: center;
}
.bkTestRunStatus2 { flex-shrink: 0; min-width: 5rem; }
.bkTestRunMeta2 { flex: 1 1 auto; min-width: 0; gap: 0.125rem; }
.bkTestRunMetaTop2 { gap: 0.375rem; }
.bkTestRunMetaBottom2 { gap: 0.375rem; margin-top: 0.125rem; }
.bkTestRunId2 .sapMObjectIdentifierTitle { font-weight: 600; font-size: 0.9375rem; }
.bkTestRunZiel2 { font-size: 0.8rem; }
.bkTestRunDauer2 { font-size: 0.8125rem; }
.bkTestRunDate2 { font-size: 0.8125rem; }
.bkTestRunThumb2 {
  flex-shrink: 0;
  width: 4.5rem;
  height: 3rem;
  object-fit: cover;
  border-radius: 0.25rem;
  border: 1px solid var(--sapList_BorderColor, #e5e5e5);
  background: var(--sapList_Background, #fff);
  cursor: pointer;
}
@media (max-width: 480px) {
  .bkTestRunThumb2 { display: none; }
  .bkTestRunRow2 { padding: 0.5rem 0.75rem; }
}

/* ===================== F-02: Run-Now-Button ===================== */
.bkRunNowBtn.sapMBtn {
  min-width: 8rem;
}

/* ===================== F-06: Read-only / Editierbar Trennung ===================== */
.bkReadOnlyPanel > .sapMPanelHdr {
  background: var(--sapList_AlternatingRowBackground, rgba(0,0,0,0.025));
}
.bkReadOnlyText.sapMText {
  padding: 0 1rem 0.5rem 0;
  line-height: 1.5;
}
.bkEditorSeparator {
  border-top: 2px solid var(--sapList_BorderColor, #e5e5e5);
  padding-top: 0.75rem;
  gap: 0.375rem;
}
.bkEditorIcon {
  color: var(--sapInformationColor, #0a6ed1);
  font-size: 1rem;
}

/* ===================== Fix 1: ShellBar-Logo nicht verzerren ===================== */
/* Kunden-Logo im ShellBar (1024x1024px Icon als 38x24px Button) soll nicht
   horizontal gestreckt werden — object-fit:contain stellt das Seitenverhaeltnis
   sicher (analog zu .sapFAvatarImage oben). */
.sapFShellBar .sapMBtnCustomIcon,
.sapFShellBar img.sapMBtnIcon {
  object-fit: contain !important;
}

/* ===================== Fix 2: Listen luftiger (Fiori-Spacing) ===================== */
/* StandardListItem / CustomListItem in den Projekt-/Kunden-/Testcase-Listen
   wirken zu eng. Mehr vertikales Padding + klarere Zeilenhoehe nach Fiori-Richtlinie.
   Wir greifen nicht in bkKvList, bkSchritteList, bkEvidenceList etc. ein, die
   absichtlich kompakt gehalten werden (eigene sapMLIB-Overrides auf padding:0). */
.sapMLIB.sapMSLI {
  min-height: 3rem;
}
.sapMSLI .sapMSLIDiv {
  padding-top: 0.5rem;
  padding-bottom: 0.5rem;
}
.sapMSLI .sapMSLITitle {
  line-height: 1.4;
  font-size: 0.9375rem;
}
.sapMSLI .sapMSLIDescription {
  line-height: 1.35;
  font-size: 0.8125rem;
}
/* Tabellenlisten (z.B. Testfall-Tabelle): Zellen etwas mehr Luft */
.sapMListTbl td.sapMListTblCell {
  padding-top: 0.4375rem;
  padding-bottom: 0.4375rem;
}

/* Fix 3: Kompakte Lauf-Listenzeile (Laeufe-Tab Master-Spalte) */
.bkRunRowBox { width: 100%; box-sizing: border-box; gap: 0.125rem; }
.bkRunRowLine1 { gap: 0.375rem; }
.bkRunRowLine2 { gap: 0.5rem; }
.bkRunRowId { font-weight: 600; }
.bkRunZielBadge .sapMObjStatusText { font-weight: 600; letter-spacing: 0.03em; }
.bkRunRel, .bkRunDur { font-size: 0.8125rem; }
/* Fix 3: Lauf-Listenzeile soll nicht aufblaehen (Fiori-kompakt) */
#runsTable .sapMListTblRow .sapMListTblCell { padding-top: 0.25rem; padding-bottom: 0.25rem; }

/* Fix 4: N:M Prozess-Tokens / Liste */
.bkProzessToken { font-weight: 500; }
.bkProzessList .sapMLIB { padding-top: 0.25rem; padding-bottom: 0.25rem; }

/* ===================== Overhaul: Reichhaltige Paket-Karte in der Testpaket-Liste ===================== */
.bkPaketListItem2.sapMLIB { padding: 0 !important; background: transparent !important; }

/* Paketliste bekommt einen sichtbaren Container (analog Projektliste),
   damit auch mit 1 Paket-Eintrag die Liste "fertig" wirkt. */
.bkPaketSuchList.sapMList {
  background: var(--sapList_Background, #1d232a);
  border: 1px solid rgba(255,255,255,0.12);
  border-radius: 0.5rem;
  overflow: hidden;
  margin-top: 0.5rem;
}
.bkPaketSuchList.sapMList .sapMListUl {
  background: transparent;
}

.bkPaketCard2 {
  padding: 1rem 1.25rem 1rem 1.25rem;
  box-sizing: border-box;
  width: 100%;
  border-bottom: 1px solid var(--sapList_BorderColor, #e5e5e5);
  transition: background 0.1s;
}
.bkPaketListItem2.sapMLIB:hover .bkPaketCard2 {
  background: var(--sapList_Hover_Background, rgba(10,110,209,0.04));
}
.bkPaketCard2Header { gap: 0.5rem; }
.bkPaketCard2TitleBox { gap: 0; flex: 1 1 auto; min-width: 0; }
.bkPaketCard2Icon {
  font-size: 1.125rem;
  color: var(--sapInformationColor, #0a6ed1);
  flex-shrink: 0;
  margin-top: 0.125rem;
}
.bkPaketCard2Title.sapMTitle {
  font-weight: 600;
  font-size: 0.9375rem;
  line-height: 1.3;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.bkPaketCard2Meta { gap: 0.375rem; flex-shrink: 0; }
.bkPaketCard2Count .sapMObjStatusIcon { color: var(--sapContent_LabelColor, #6a6d70); }
.bkPaketCard2Count .sapMObjStatusText { font-weight: 600; font-size: 0.9375rem; }
.bkPaketCard2Stats { gap: 0.375rem; flex-wrap: wrap; }
.bkPaketCard2Stats .sapMObjStatus .sapMObjStatusTitle { font-size: 0.7rem; }
.bkPaketCard2Unit.sapMText { font-size: 0.75rem; color: var(--sapContent_LabelColor, #6a6d70); }

/* Abstand: Suchfeld-Toolbar → Projektliste-Items (0.5rem = sapUiSmallMargin).
   Die infoToolbar wird als .sapMListInfoTBarContainer gerendert; margin-bottom
   schiebt die Items-Liste darunter entsprechend nach unten. */
.bkProjektSuchList .sapMListInfoTBarContainer,
.bkProjektSuchList .sapMListSubHeaderTBar {
  margin-bottom: 0.5rem;
}

/* QC-Evidenz-Panel: gedämpfter Begründungstext + begrenzte Screenshot-Höhe (Cover des QC-Laufs) */
.bkDimText { color: var(--sapContent_LabelColor); font-size: 0.85rem; }
.bkQcShot {
  max-height: 420px;
  width: auto !important;
  max-width: 100%;
  border: 1px solid var(--sapList_BorderColor);
  border-radius: 6px;
}

/* Bild-Gallery (Schritt-Screenshots durchklicken): großes Bild + Vor/Zurück + Zähler */
.bkGallery { width: 100%; }
.bkGalleryImg img, .bkGalleryImg { max-width: 100%; max-height: 68vh; border-radius: 6px; border: 1px solid var(--sapList_BorderColor); }
.bkGalleryNav { gap: 1rem; margin-top: 0.75rem; }
.bkGalleryCounter { min-width: 12rem; text-align: center; font-variant-numeric: tabular-nums; color: var(--sapContent_LabelColor); }

/* #114 Sichtbare Textauswahl — im Dark-Theme war die Markierung unsichtbar (gleiche Farbe wie Text). */
::selection { background: #2563eb !important; color: #ffffff !important; }
::-moz-selection { background: #2563eb !important; color: #ffffff !important; }
input::selection, textarea::selection { background: #2563eb !important; color: #ffffff !important; }
/* #114 (verstärkt): SAP-Theme setzt eigene ::selection — daher !important + SAP-Inner-Selektoren. */
.sapMInputBaseInner::selection, .sapMTextArea textarea::selection, textarea::selection,
.sapMText::selection, .sapMLabel::selection, .sapMTitle::selection, span::selection, div::selection,
.sapUiText::selection, code::selection, pre::selection { background: #2563eb !important; color: #ffffff !important; }
.sapMInputBaseInner::-moz-selection, .sapMTextArea textarea::-moz-selection, textarea::-moz-selection { background: #2563eb !important; color: #ffffff !important; }
