/* NOTE: This file was generated as an optimized version of "library.source.less" for the Theme Designer. */

/*!
 * OpenUI5
 * (c) Copyright 2009-2025 SAP SE or an SAP affiliate company.
 * Licensed under the Apache License, Version 2.0 - see LICENSE.txt.
 */
@import "../../../../../../Base/baseLib/baseTheme/base.less"; /* ORIGINAL IMPORT PATH: "../../../../../sap/ui/core/themes/base/base.less" */

@import "../../../../../sap/ui/core/themes/base/global.less";

/* Note: The units might not be stable. Therefore, do not rely on Less internal math, but use CSS calc() to make calculations. */

@_sap_ui_table_BaseSize: @_sap_ui_table_BaseSizeCompact; /* Default, if no density is defined. */
@_sap_ui_table_BaseSizeCozy: 3rem; /* @sapUiElementLineHeight; */
@_sap_ui_table_BaseSizeCompact: 2rem;
@_sap_ui_table_BaseSizeCondensed: 1.5rem;
@_sap_ui_table_BaseBorderWidth: @sapUiElementBorderWidth;

@_sap_ui_table_ColumnHeaderHeight: @_sap_ui_table_BaseSize;
@_sap_ui_table_ColumnHeaderHeightCozy: @_sap_ui_table_BaseSizeCozy;

@_sap_ui_table_RowHeight: calc(@_sap_ui_table_BaseSize ~"+" @_sap_ui_table_BaseBorderWidth);
@_sap_ui_table_RowHeightCozy: calc(@_sap_ui_table_BaseSizeCozy ~"+" @_sap_ui_table_BaseBorderWidth);
@_sap_ui_table_RowHeightCondensed: calc(@_sap_ui_table_BaseSizeCondensed ~"+" @_sap_ui_table_BaseBorderWidth);

@_sap_ui_table_RowHighlightBorderRightWidth: 0.0625rem;
@_sap_ui_table_RowHighlightIndicatorWidth: 0.375rem;
@_sap_ui_table_RowHighlightWidth: @_sap_ui_table_RowHighlightIndicatorWidth + @_sap_ui_table_RowHighlightBorderRightWidth;
@_sap_ui_table_NavIndicatorWidth: 0.1875rem;

@_sap_ui_table_RowSelectorWidth: @_sap_ui_table_BaseSize;
@_sap_ui_table_RowSelectorWidthCozy: @_sap_ui_table_BaseSizeCozy;
@_sap_ui_table_RowSelectorWidthCondensed: @_sap_ui_table_BaseSizeCompact;

@_sap_ui_table_RowActionItemSize: calc(@_sap_ui_table_BaseSize ~"-" 0.375rem);
@_sap_ui_table_RowActionItemSizeCozy: calc(@_sap_ui_table_BaseSizeCozy ~"-" 0.5rem);
@_sap_ui_table_RowActionItemSizeCondensed: calc(@_sap_ui_table_BaseSizeCondensed ~"-" 0.125rem);
@_sap_ui_table_RowActionPadding: 0.25rem;
@_sap_ui_table_RowActionColumnWidth: calc(~"2 *" @_sap_ui_table_RowActionItemSize ~"+ 2 *" @_sap_ui_table_RowActionPadding ~"+ 2 *" @_sap_ui_table_BaseBorderWidth);
@_sap_ui_table_RowActionColumnWidthCozy: calc(~"2 *" @_sap_ui_table_RowActionItemSizeCozy ~"+ 2 *" @_sap_ui_table_RowActionPadding ~"+ 2 *" @_sap_ui_table_BaseBorderWidth);
@_sap_ui_table_RowActionColumnWidthCondensed: calc(~"2 *" @_sap_ui_table_RowActionItemSizeCondensed ~"+ 2 *" @_sap_ui_table_RowActionPadding ~"+ 2 *" @_sap_ui_table_BaseBorderWidth);
@_sap_ui_table_RowActionColumnSmallWidth: calc(@_sap_ui_table_RowActionItemSize ~"+ 2 *" @_sap_ui_table_RowActionPadding ~"+ 2 *" @_sap_ui_table_BaseBorderWidth);
@_sap_ui_table_RowActionColumnSmallWidthCozy: calc(@_sap_ui_table_RowActionItemSizeCozy ~"+ 2 *" @_sap_ui_table_RowActionPadding ~"+ 2 *" @_sap_ui_table_BaseBorderWidth);
@_sap_ui_table_RowActionColumnSmallWidthCondensed: calc(@_sap_ui_table_RowActionItemSizeCondensed ~"+ 2 *" @_sap_ui_table_RowActionPadding ~"+ 2 *" @_sap_ui_table_BaseBorderWidth);

@_sap_ui_table_NavigationIcon: navigation-right-arrow;
@_sap_ui_table_DeleteIcon: sys-cancel;
@_sap_ui_table_ClearSelectionIcon: clear-all;
@_sap_ui_table_AllSelectedIcon: complete;
@_sap_ui_table_CheckboxIcon: border;

/* START "Table.less" */
/* =================================== */
/* CSS for control sap.ui.table/Table  */
/* Base theme                          */
/* =================================== */

@_sap_ui_table_Table_HeaderHeight: @_sap_ui_table_BaseSizeCozy;
@_sap_ui_table_Table_HeaderPaddingLeft: 1rem;
@_sap_ui_table_Table_HeaderPaddingRight: 1rem;
@_sap_ui_table_Table_FooterHeight: @_sap_ui_table_BaseSizeCozy;
@_sap_ui_table_Table_FooterPaddingLeft: 1rem;
@_sap_ui_table_Table_FooterPaddingRight: 1rem;
@_sap_ui_table_Table_TableHeaderBorderWidth: @_sap_ui_table_BaseBorderWidth;

/* Can be used in other themes to add styles for which there are no style definitions in the base theme and therefore no theme parameters. */
._sap_ui_table_Table_TitleContainer() {}
._sap_ui_table_Table_ExtensionContainer() {}
._sap_ui_table_Table_GridContainer() {}

/**********************************************
 * MAIN TABLE SECTIONS (First Level Elements)
 **********************************************/

.sapUiTable {
	font-family: var(--sapFontFamily);
	color: var(--sapList_TextColor);
	position: relative;
	box-sizing: border-box;
	z-index: 0; /* Define stacking context to avoid conflicts with other controls */
}

.sapUiTableBefore {
	display: flow-root;
}

.sapUiTableHdr {
	display: flex;
	align-items: center;
	padding-left: @_sap_ui_table_Table_HeaderPaddingLeft;
	padding-right: @_sap_ui_table_Table_HeaderPaddingRight;
	background-color: var(--sapGroup_TitleBackground);
	min-height: @_sap_ui_table_Table_HeaderHeight;

	> * {
		flex: 1 1 auto;
	}

	._sap_ui_table_Table_TitleContainer();
}

.sapUiTableHdrTitle {
	font-family: var(--sapFontHeaderFamily);
	font-size: var(--sapFontHeader4Size);
	font-weight: @sapUiFontHeaderWeight;
	color: var(--sapGroup_TitleTextColor);
}

.sapUiTableTbr,
.sapUiTableExt {

	._sap_ui_table_Table_ExtensionContainer();
}

.sapUiTableCnt {
	box-sizing: border-box;
	position: relative;
	overflow: hidden; /* avoid scrollbar for column resize handlers */
	border-left: @_sap_ui_table_BaseBorderWidth solid @sapUiListVerticalBorderColor;
	border-right: @_sap_ui_table_BaseBorderWidth solid @sapUiListVerticalBorderColor;
	border-top: @_sap_ui_table_BaseBorderWidth solid var(--sapList_BorderColor);
	background-color: var(--sapBackgroundColor);

	._sap_ui_table_Table_GridContainer();
}

.sapUiTableFtr {
	display: flex;
	align-items: center;
	border-bottom: @_sap_ui_table_BaseBorderWidth solid var(--sapList_HeaderBorderColor);
	border-left: @_sap_ui_table_BaseBorderWidth solid var(--sapList_HeaderBorderColor);
	border-right: @_sap_ui_table_BaseBorderWidth solid var(--sapList_HeaderBorderColor);
	box-sizing: border-box;
	min-height: @_sap_ui_table_Table_FooterHeight;
	background-color: var(--sapList_Background);
	padding-left: @_sap_ui_table_Table_FooterPaddingLeft;
	padding-right: @_sap_ui_table_Table_FooterPaddingLeft;
	font-weight: bold;

	> * {
		flex: 1 1 auto;
	}
}

.sapUiTablePlaceholder {
	background-color: var(--sapList_Background);
	box-sizing: border-box;
	border-bottom: @_sap_ui_table_BaseBorderWidth solid var(--sapList_HeaderBorderColor);
}

.sapUiTableOuterAfter,
.sapUiTableOuterBefore {
	display: none;
}

/**********************************************
 * OTHERS
 **********************************************/

.sapUiTableNoOpacity {
	opacity: 0;
	overflow: hidden;
}

.sapUiTableHiddenSizeDetector {
	position: absolute;
	left: -1000px;
	visibility: hidden;
	display: inline-block;
}

/* Hide table during transition, because shrinked width causes growing rows */
.sapMNavItemFlipping .sapUiTable {
	opacity: 0;
}

.sapUiTable .sapUiLocalBusyIndicator {
	z-index: 11; /* The BusyIndicator deserves to be on top! */
}

.sapUiTableHidden {
	display: none;
}

/**********************************************
 * OVERLAY / NODATA AREA
 **********************************************/

.sapUiTableCtrlEmptyMsg {
	position: absolute;
	top: 50%;
	display: inline-block;
	left: 0;
	width: 100%;
	box-sizing: border-box;
	padding: 0.2rem 1rem;
	transform: translateY(-50%);
	white-space: pre-wrap;
}

.sapUiTableCtrlEmpty,
.sapUiTableOverlayArea {
	display: none;
	position: absolute;
	height: 100%;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	text-align: center;
	box-sizing: border-box;
}

.sapUiTableCtrlEmpty {
	background-color: var(--sapList_Background);
	font-size: @sapMFontMediumSize;
	z-index: 10; /* Makes sure that the NoData overlays the rows. For example, sapUiTableRowActionScr also has a z-index. */

	.sapUiSizeCozy & {
		font-size: var(--sapFontLargeSize);
	}
}

.sapUiTableCtrlEmpty > .sapMIllustratedMessage {
	position: absolute;
	top: 50%;
	transform: translate(0, -50%);
}

.sapUiTableOverlayArea {
	background-color: transparent;
	z-index: 12;
}

.sapUiTableEmpty {

	.sapUiTableCtrlEmpty {
		display: block;
	}

	.sapUiTableCtrlAfter {
		display: none;
	}
}

.sapUiTableOverlayArea:focus,
.sapUiTableCtrlEmpty:focus,
.sapUiTableCnt > .sapUiLocalBusyIndicator:focus {
	outline-width: var(--sapContent_FocusWidth);
	outline-style: var(--sapContent_FocusStyle);
	outline-offset: -3px;
	outline-color: var(--sapContent_FocusColor);
}

.sapUiTable.sapUiTableOverlay {

	/* Since in row mode Auto, the table has no height, the overlay must be applied to every child div
	   of the table root div. Because they have some borders and margins applied, the stretch the overlay by 2 pixels to top and
	   bottom to be able to cover margins and borders*/

	> div::after {
		content: '';
		z-index: 11;
		/* same as sapUiOverlay */
		background-color: fade(@sapUiGroupContentBackground, 80);
		position: absolute;
		top: -2px;
		left: 0;
		right: 0;
		bottom: -2px;
		/* same as sapUiOverlay */
	}

	> div {
		position: relative;
	}

	.sapUiTableOuterBefore,
	.sapUiTableOuterAfter,
	.sapUiTableOverlayArea {
		display: block;
	}

	.sapUiTableHdr,
	.sapUiTableTbr,
	.sapUiTableExt,
	.sapUiTableFtr,
	.sapUiTableColHdrCnt,
	.sapUiTableColRsz,
	.sapUiTableCCnt,
	.sapUiTableHSb {
		pointer-events: none;
		-webkit-user-select: none;
		-moz-user-select: none;
		user-select: none;
	}

}

/**********************************************
 * COLUMN HEADERS
 **********************************************/

.sapUiTableColHdrCnt {
	display: none;
	position: relative;
	background-color: var(--sapList_HeaderBackground);
	max-width: 100%;
	overflow: hidden;
	white-space: nowrap;
	min-height: @_sap_ui_table_ColumnHeaderHeight;
	border-bottom: @_sap_ui_table_Table_TableHeaderBorderWidth solid var(--sapList_HeaderBorderColor);
	color: var(--sapList_TextColor);
}

.sapUiTableCHdr .sapUiTableColHdrCnt {
	display: block;
}

.sapUiSizeCozy .sapUiTableColHdrCnt {
	min-height: @_sap_ui_table_ColumnHeaderHeightCozy;
	border-bottom-color: var(--sapList_HeaderBorderColor);
}

.sapUiTableColHdrScr {
	display: inline-block;
	vertical-align: top;
	overflow: hidden;
	height: 100%;
	white-space: nowrap;
	box-sizing: border-box;
}

.sapUiTableColHdrScr {
	margin: 0;
}

.sapUiTableColHdrScr.sapUiTableHasNoColumns {
	min-height: @_sap_ui_table_ColumnHeaderHeight;
}

.sapUiSizeCozy .sapUiTableColHdrScr.sapUiTableHasNoColumns {
	min-height: @_sap_ui_table_ColumnHeaderHeightCozy;
}

/**********************************************
 * ROW HEADERS
  **********************************************/

.sapUiTableRowHdrScr {
	display: none;
	position: absolute;
	top: 0;
	left: 0;
	box-sizing: border-box;
	min-height: @_sap_ui_table_RowHeight;
	touch-action: none; /* for touch scrolling */

	.sapUiTableRowSelectors &,
	.sapUiTableRowHighlights & {
		display: block;
	}

	.sapUiTableRowSelectors:not(.sapUiTableRowHighlights) & {
		width: @_sap_ui_table_RowSelectorWidth;
	}

	.sapUiTableRowHighlights:not(.sapUiTableRowSelectors) & {
		width: @_sap_ui_table_RowHighlightWidth;
	}

	.sapUiTableRowHighlights.sapUiTableRowSelectors & {
		width: calc(@_sap_ui_table_RowSelectorWidth ~"+" @_sap_ui_table_RowHighlightWidth);
	}
}

.sapUiSizeCondensed {

	.sapUiTableRowHdrScr {
		min-height: @_sap_ui_table_RowHeightCondensed;
	}

	.sapUiTableRowSelectors:not(.sapUiTableRowHighlights) .sapUiTableRowHdrScr {
		width: @_sap_ui_table_RowSelectorWidthCondensed;
	}

	.sapUiTableRowHighlights.sapUiTableRowSelectors .sapUiTableRowHdrScr {
		width: calc(@_sap_ui_table_RowSelectorWidthCondensed ~"+" @_sap_ui_table_RowHighlightWidth);
	}
}

.sapUiSizeCozy {

	.sapUiTableRowHdrScr {
		min-height: @_sap_ui_table_RowHeightCozy;
	}

	.sapUiTableRowSelectors:not(.sapUiTableRowHighlights) .sapUiTableRowHdrScr {
		width: @_sap_ui_table_RowSelectorWidthCozy;
	}

	.sapUiTableRowHighlights.sapUiTableRowSelectors .sapUiTableRowHdrScr {
		width: calc(@_sap_ui_table_RowSelectorWidthCozy ~"+" @_sap_ui_table_RowHighlightWidth);
	}
}

.sapUiTableAriaRowSel {
	font-size: 0;
}

/**********************************************
 * Row Actions
 **********************************************/

.sapUiTableRowActionScr,
.sapUiTableRowWithAction {
	display: none;
	position: absolute;
	top: 0;
	right: 0;
	box-sizing: border-box;
	z-index: 4; /* Ensure Action Area before Resize/Reorder bars*/
	touch-action: pan-x; /* for touch scrolling, vertical only */

	.sapUiTableRActFlexible & {
		right: auto;
	}
}

.sapUiTableRAct,
.sapUiTableRActS,
.sapUiTableRowNavIndicator {

	& .sapUiTableRowActionScr,
	& .sapUiTableRowWithAction {
		display: block;
	}
}

/**********************************************
 * INNER TABLE
 **********************************************/

.sapUiTableCCnt {
	position: relative;
	overflow: hidden;
	border-bottom: @_sap_ui_table_BaseBorderWidth solid var(--sapList_HeaderBorderColor);
}

.sapUiTableCtrlCnt {
	box-sizing: border-box;
	min-height: @_sap_ui_table_RowHeight;
}

.sapUiSizeCozy .sapUiTableCtrlCnt {
	min-height: @_sap_ui_table_RowHeightCozy;
}

.sapUiSizeCondensed .sapUiTableCtrlCnt {
	min-height: @_sap_ui_table_RowHeightCondensed;
}

.sapUiTableCtrl {
	position: relative;
	table-layout: fixed;
	width: 100%;
	border-collapse: separate;
	border-spacing: 0;
	margin: 0;
	padding: 0;
	box-sizing: border-box;
}

.sapUiTableCtrlScr {
	position: relative;
	margin: 0;
	overflow: hidden;
	box-sizing: border-box;
}

/* disable default touch move behavior on scrollable table rows,
   vertical and horizontal scrolling is done by the scroll extension */
.sapUiTableCtrlRowScroll {
	touch-action: none;
}

/* disable horizontal touch move behavior on fixed table rows
   horizontal scrolling is done by the scroll extension */
.sapUiTableCtrlRowFixed,
.sapUiTableCtrlRowFixedBottom {
	touch-action: pan-y;
}

.sapUiTableRAct .sapUiTableCtrlScr,
.sapUiTableRActS .sapUiTableCtrlScr {
	border-right-width: 0;
}

.sapUiTableCtrlScrFixed {
	float: left;
}

.sapUiTableRowSelectors:not(.sapUiTableRowHighlights) {

	.sapUiTableCtrlScr,
	.sapUiTableCtrlScrFixed {
		margin-left: @_sap_ui_table_RowSelectorWidth;
	}
}

.sapUiTableRowHighlights:not(.sapUiTableRowSelectors) {

	.sapUiTableCtrlScr,
	.sapUiTableCtrlScrFixed {
		margin-left: @_sap_ui_table_RowHighlightWidth;
	}
}

.sapUiTableRowSelectors.sapUiTableRowHighlights {

	.sapUiTableCtrlScr,
	.sapUiTableCtrlScrFixed {
		margin-left: calc(@_sap_ui_table_RowSelectorWidth ~"+" @_sap_ui_table_RowHighlightWidth);
	}
}

.sapUiSizeCozy {

	&.sapUiTableRowSelectors,
	.sapUiTableRowSelectors {

		&:not(.sapUiTableRowHighlights) {

			.sapUiTableCtrlScr,
			.sapUiTableCtrlScrFixed {
				margin-left: @_sap_ui_table_RowSelectorWidthCozy;
			}
		}
	}

	&.sapUiTableRowSelectors,
	.sapUiTableRowSelectors {

		&.sapUiTableRowHighlights {

			.sapUiTableCtrlScr,
			.sapUiTableCtrlScrFixed {
				margin-left: calc(@_sap_ui_table_RowSelectorWidthCozy ~"+" @_sap_ui_table_RowHighlightWidth);
			}
		}
	}
}

.sapUiSizeCondensed {

	&.sapUiTableRowSelectors,
	.sapUiTableRowSelectors {

		&:not(.sapUiTableRowHighlights) {

			.sapUiTableCtrlScr,
			.sapUiTableCtrlScrFixed {
				margin-left: @_sap_ui_table_RowSelectorWidthCondensed;
			}
		}
	}

	&.sapUiTableRowSelectors,
	.sapUiTableRowSelectors {

		&.sapUiTableRowHighlights {

			.sapUiTableCtrlScr,
			.sapUiTableCtrlScrFixed {
				margin-left: calc(@_sap_ui_table_RowSelectorWidthCondensed ~"+" @_sap_ui_table_RowHighlightWidth);
			}
		}
	}
}

.sapUiTableCtrlCol { /* row defining the width of the cols */
	height: 0 !important;
	margin: 0;
	padding: 0;
	border: none;
}

.sapUiTableCtrlCol > th {
	height: inherit;
	margin: 0;
	padding: 0;
	border: none;
}

.sapUiTableCtrlCol > th > * {
	display: none;
}
/* END "Table.less" */

/* START "Row.less" */
/* ================================= */
/* CSS for control sap.ui.table/Row  */
/* Base theme                        */
/* ================================= */

@_sap_ui_table_Row_Color: var(--sapList_TextColor);
@_sap_ui_table_Row_ColorHovered: @_sap_ui_table_Row_Color;
@_sap_ui_table_Row_AlternateBackground: darken(@sapUiListBackground, 2);
@_sap_ui_table_Row_AlternateBackgroundHovered: darken(@sapUiListHoverBackground, 3);
@_sap_ui_table_Row_AlternateBackgroundSelected: darken(@sapUiListSelectionBackgroundColor, 2);
@_sap_ui_table_Row_AlternateBackgroundSelectedHovered: darken(@sapUiListSelectionHoverBackground, 2);
@_sap_ui_table_Row_NavigationIndicatorColor: var(--sapList_SelectionBorderColor);

.sapUiTableHeaderRow {
	background-color: var(--sapList_HeaderBackground);
}

.sapUiTableContentRow {
	position: relative;
	background-color: var(--sapList_Background);

	&.sapUiTableRowAlternate {
		background-color: @_sap_ui_table_Row_AlternateBackground;

		&.sapUiTableRowHvr {
			background-color: @_sap_ui_table_Row_AlternateBackgroundHovered;
		}

		&.sapUiTableRowSel {
			background-color: @_sap_ui_table_Row_AlternateBackgroundSelected;

			&.sapUiTableRowHvr {
				background-color: @_sap_ui_table_Row_AlternateBackgroundSelectedHovered;
			}
		}
	}

	&.sapUiTableRowSel {
		background-color: var(--sapList_SelectionBackgroundColor);
	}

	&.sapUiTableRowHvr {
		background-color: var(--sapList_Hover_Background);
		color: @_sap_ui_table_Row_ColorHovered;
		cursor: pointer;

		[data-sap-ui] {
			cursor: pointer;
		}
	}

	&.sapUiTableRowSel.sapUiTableRowHvr {
		background-color: @sapUiListSelectionHoverBackground;
	}

	.sapUiTableRowActionScr & {
		background-color: transparent !important;
	}
}

.sapUiTableColHdrTr,
.sapUiTableTr {
	color: @_sap_ui_table_Row_Color;
	height: @_sap_ui_table_RowHeight;

	.sapUiSizeCozy & {
		height: @_sap_ui_table_RowHeightCozy;
	}
}

.sapUiTableTr {
	font-weight: normal;
	box-sizing: border-box;

	.sapUiSizeCondensed & {
		height: @_sap_ui_table_RowHeightCondensed;
	}

	.sapUiTableResizing .sapUiTableCtrlCnt & {
		pointer-events: none;
	}

	&.sapUiTableSummaryRow * {
		font-weight: bold !important;
	}
}

.sapUiTableRowNavigated {
	height: 100%;
	width: 0.1875rem;
	position: absolute;
	top: 0;
	right: 0;
	background-color: @_sap_ui_table_Row_NavigationIndicatorColor;
}
/* END "Row.less" */

/* START "CreationRow.less" */
/* ========================================= */
/* CSS for control sap.ui.table/CreationRow  */
/* Base theme                                */
/* ========================================= */

.sapUiTableCreationRow {
	display: flex;
	background-color: var(--sapList_HeaderBackground);
	border-bottom: @_sap_ui_table_BaseBorderWidth solid var(--sapList_HeaderBorderColor);

	> .sapUiTableCreationRowBeginSection {
		flex: none;
		position: relative;
		border-right: @_sap_ui_table_BaseBorderWidth solid @sapUiListVerticalBorderColor;
	}

	> .sapUiTableCreationRowMiddleSection {
		overflow: hidden;
	}

	> .sapUiTableCreationRowEndSection {
		flex: none;
		position: relative;
		height: auto;
		border-bottom: none;

		.sapUiTableRActFlexible & {
			width: 0 !important;
		}

		&.sapUiTableVSbBg {
			border-left: @_sap_ui_table_BaseBorderWidth solid @sapUiListVerticalBorderColor !important;
			box-sizing: content-box !important;
		}
	}

	.sapUiTableCreationRowForm {
		display: flex;

		> .sapUiTableCtrlScr {
			margin: 0 !important;
			border-right: none !important;
		}

		table {
			height: 100%;
		}

		.sapUiTableCell {

			&:extend(.sapUiTableDataCell all); /* We want the styles, but not the class. It is a "type class" that influences the tables behavior. */

			/* The cells in the creation row should not have any borders except the ones that indicate fixed areas (e.g. fixed columns). */
			border-color: transparent;

			/* Fixed data column border */
			&.sapUiTableCellLastFixed {
				border-right-color: @sapUiListTableFixedBorder;
			}

			/* Row action column border */
			.sapUiTableHScr &.sapUiTableRowActionHeaderCell {
				border-left-color: @sapUiListTableFixedBorder;
			}

			/* The height is fixed to the default row height (or the application defined height, see TableRenderer) until variable row heights are */
			/* generally supported. */
			> .sapUiTableCellInner {
				max-height: @_sap_ui_table_BaseSize;

				.sapUiSizeCozy & {
					max-height: @_sap_ui_table_BaseSizeCozy;
				}

				.sapUiSizeCondensed & {
					max-height: @_sap_ui_table_BaseSizeCondensed;
				}
			}
		}

		.sapUiTableCellDummy {
			border-color: transparent;
		}
	}
}
/* END "CreationRow.less" */

/* START "Cell.less" */
/* ========================== */
/* CSS for sap.ui.table/Cell  */
/* Base theme                 */
/* ========================== */

@_sap_ui_table_Cell_FocusOutlineOffset: ~"calc(var(--sapContent_FocusWidth) * -1)";
@_sap_ui_table_Cell_FocusOutlineOffsetInZoomedChrome: ~"calc((var(--sapContent_FocusWidth) * -1) - 0.0625rem)"; /*  calc(-@sapUiContentFocusWidth ~"- 0.0625rem") */
@_sap_ui_table_Cell_Padding: 0 0.5rem;
@_sap_ui_table_Cell_TouchMenuIconSize: 1.375rem;
@_sap_ui_table_Cell_ColumnIconSize: 0.75rem;
@_sap_ui_table_Cell_BorderColorSelected: var(--sapList_BorderColor);
@_sap_ui_table_Cell_BorderColorFixedSelected: @sapUiListTableFixedBorder;
@_sap_ui_table_Cell_ShadowColorFixed: transparent;
@_sap_ui_table_Cell_BorderBottomFocus: @sapUiListTableFixedBorder;
@_sap_ui_table_Cell_DummyBorderColor: @sapUiListVerticalBorderColor;

/*
 * Focus outline
 */
.sapUiTableCell:focus {
	outline: none;

	&::before {
		content: '';
		position: absolute;
		inset: 0;
		pointer-events: none;
		outline: var(--sapContent_FocusWidth) var(--sapContent_FocusStyle) var(--sapContent_FocusColor);
		outline-offset: @_sap_ui_table_Cell_FocusOutlineOffset;

		.sapUiTableZoomout & {
			outline-offset: @_sap_ui_table_Cell_FocusOutlineOffsetInZoomedChrome;
		}
	}
}

/*
 * Hover
 */
.sapUiTableHeaderCell:not(.sapUiTableRowActionHeaderCell) {

	&:hover {
		background-color: var(--sapList_Hover_Background);
	}
}

/*
 * Borders
 */
.sapUiTableCell {
	position: relative;
	box-sizing: border-box;
	border-right: @_sap_ui_table_BaseBorderWidth solid @sapUiListVerticalBorderColor;
	border-bottom: @_sap_ui_table_BaseBorderWidth solid var(--sapList_BorderColor);

	.sapUiTableRowIndented > &.sapUiTableRowSelectionCell {
		border-left: @_sap_ui_table_BaseBorderWidth solid @sapUiListVerticalBorderColor;
	}

	/* Adds a border on top that might be required due to indentation of the row above. */
	.sapUiTableGroupMode &.sapUiTableRowSelectionCell {
		box-shadow: 0 -@_sap_ui_table_BaseBorderWidth var(--sapList_BorderColor);
	}

	/* Last data column border */
	&.sapUiTableCellLast {
		/* The table and row action column have a border, so the last data column doesn't need one. */
		/* See: sapUiTableCellDummy, sapUiTableCtrlScr */
		border-right-color: transparent;
	}

	/* Row action column border */
	&.sapUiTableRowActionHeaderCell,
	&.sapUiTableRowActionCell {
		border-left: @_sap_ui_table_BaseBorderWidth solid @sapUiListVerticalBorderColor;

		.sapUiTableHScr & {
			border-left-color: @sapUiListTableFixedBorder;
			border-right-color: transparent;
		}
	}

	&.sapUiTableRowActionCell {

		.sapUiTableRowNavIndicator & {
			border-right: none;
			border-left: none;
			background-color: transparent;
		}
	}

	/* Fixed data column border */
	&.sapUiTableCellLastFixed {
		border-right-color: @sapUiListTableFixedBorder;
	}

	/* Header rows borders */
	&.sapUiTableHeaderCell {
		/* Column header rows don't have bottom borders. The header area as a whole has a bottom border. */
		/* See: sapUiTableColHdrCnt */
		border-bottom: none;
	}

	/* Fixed rows borders */
	.sapUiTableRowLastFixedTop > &,
	.sapUiTableRowLastScrollable > & {
		border-bottom-color: @sapUiListTableFixedBorder;

		.sapUiTableRowSel& {
			border-bottom-color: @_sap_ui_table_Cell_BorderColorFixedSelected;
		}

		&:focus {
			border-bottom-color: @_sap_ui_table_Cell_BorderBottomFocus;
		}
	}

	.sapUiTableRowFirstScrollable > &,
	.sapUiTableRowFirstFixedBottom > & {
		box-shadow: 0 @_sap_ui_table_BaseBorderWidth @_sap_ui_table_Cell_ShadowColorFixed inset;
	}

	/* Last row border */
	.sapUiTableLastRow > & {

		/* The table has a border, so the last row doesn't need one. */
		border-bottom-color: transparent;
	}

	> .sapUiTableCellInner {
		box-sizing: border-box;

		&.sapUiTableFirstColumnCell {
			padding-left: 1rem;
		}
	}

	.sapUiTableRowSel > & {
		border-bottom-color: @_sap_ui_table_Cell_BorderColorSelected;
	}

	.sapUiTableSummaryRow > & {
		border-left-color: transparent;
		border-right-color: transparent;
	}
}

.sapUiTableRowSelectionHeaderCell { /* Contains highlight and SelectAll selector. */
	display: none;
	vertical-align: bottom;
	position: absolute;
	top: 0;
	bottom: 0;
	left: 0;
	width: @_sap_ui_table_RowSelectorWidth;
	min-height: @_sap_ui_table_ColumnHeaderHeight;

	.sapUiSizeCozy & {
		min-height: @_sap_ui_table_ColumnHeaderHeightCozy;
	}

	.sapUiTableRowSelectors &,
	.sapUiTableRowHighlights & {
		display: inline-block;
	}

	/* Only selectors visible. */
	.sapUiTableRowSelectors:not(.sapUiTableRowHighlights) & {
		width: @_sap_ui_table_RowSelectorWidth;

		.sapUiSizeCondensed & {
			width: @_sap_ui_table_RowSelectorWidthCondensed;
		}

		.sapUiSizeCozy & {
			width: @_sap_ui_table_RowSelectorWidthCozy;
		}
	}

	/* Only highlights visible. */
	.sapUiTableRowHighlights:not(.sapUiTableRowSelectors) & {
		width: @_sap_ui_table_RowHighlightWidth;
	}

	/* Both selectors and highlights visible. */
	.sapUiTableRowHighlights.sapUiTableRowSelectors & {
		width: calc(@_sap_ui_table_RowSelectorWidth ~"+" @_sap_ui_table_RowHighlightWidth);

		.sapUiSizeCondensed & {
			width: calc(@_sap_ui_table_RowSelectorWidthCondensed ~"+" @_sap_ui_table_RowHighlightWidth);
		}

		.sapUiSizeCozy & {
			width: calc(@_sap_ui_table_RowSelectorWidthCozy ~"+" @_sap_ui_table_RowHighlightWidth);
		}
	}

	&.sapUiTableSelAllDisabled > * {
		opacity: 0.3;
		pointer-events: none;
	}

	&:not(.sapUiTableSelAllDisabled), &:not(.sapUiTableSelAllDisabled) .sapUiIcon {
		cursor: pointer;
	}
}

.sapUiTableHeaderDataCell {
	padding: 7px 0;

	&.sapUiTableHeaderCellActive {
		cursor: pointer;

		.sapMLabel,
		.sapMText,
		.sapUiIcon {
			cursor: pointer;
		}
	}

	&.sapUiTableHeaderCellActive:active {

		/* The active state background color and text color should not be applied if column reordering is in progress. */
		.sapUiTable:not(.sapUiTableDragDrop) & {
			background-color: var(--sapList_Active_Background);
			color: var(--sapList_Active_TextColor);
		}

		& > .sapUiTableCellInner {

			span,
			label,
			&.sapUiTableColSorted::after,
			&.sapUiTableColFiltered::after {
				color: var(--sapList_Active_TextColor);
			}
		}
	}

	> .sapUiTableCellInner {
		display: flex;
		flex: 1 1 auto;
		align-items: center;
		text-overflow: ellipsis;
		overflow: hidden;
		white-space: normal;
		padding: @_sap_ui_table_Cell_Padding;

		&.sapUiTableFirstColumnCell {
			padding-left: 1rem;
		}

		& > div:first-child {
			display: flex;
			flex: 1 1 auto;
			overflow: hidden;

			> * {
				overflow: hidden;
			}
		}

		&::after {

			.sapUiTableColSorted&,
			.sapUiTableColFiltered& {
				content: '';
				font-family: var(--sapContent_IconFontFamily);
				font-size: @_sap_ui_table_Cell_ColumnIconSize;
				color: var(--sapContent_NonInteractiveIconColor);
				margin-left: 0.5rem;
				flex: none;
			}

			.sapUiTableColSorted& {
				content: '\e1fd';
			}

			.sapUiTableColSortedD& {
				content: '\e1fc';
			}

			.sapUiTableColFiltered& {
				content: '\e076';
			}

			.sapUiTableColFiltered.sapUiTableColSorted& {
				content: '\e076\00a0\e1fd';
			}

			.sapUiTableColFiltered.sapUiTableColSortedD& {
				content: '\e076\00a0\e1fc';
			}
		}
	}

	> .sapUiTableCellTouchMenu {
		display: flex;
		padding: @_sap_ui_table_Cell_Padding;

		.sapUiTableColResizer {
			margin-left: auto;
		}

		.sapUiTableColResizer,
		.sapUiTableColDropDown {
			font-family: var(--sapContent_IconFontFamily);
			font-size: @_sap_ui_table_Cell_TouchMenuIconSize;
			color: var(--sapContent_IconColor);
			cursor: default;

			&:active {
				color: var(--sapContent_ContrastTextColor);
			}
		}
	}
}

.sapUiTableRowActionHeaderCell {
	position: absolute;
	right: 0;
	top: 0;
	height: 100%;
	display: none;
	z-index: 4; /* Ensure Action Area before Resize/Reorder bars */
	width: @_sap_ui_table_RowActionColumnWidth;

	.sapUiTableRAct &,
	.sapUiTableRActS & {
		display: block;
	}

	.sapUiTableRActS & {
		width: @_sap_ui_table_RowActionColumnSmallWidth;
	}

	.sapUiSizeCozy & {
		width: @_sap_ui_table_RowActionColumnWidthCozy;
	}

	.sapUiSizeCozy .sapUiTableRActS &,
	.sapUiSizeCozy.sapUiTableRActS & {
		width: @_sap_ui_table_RowActionColumnSmallWidthCozy;
	}

	.sapUiSizeCondensed & {
		width: @_sap_ui_table_RowActionColumnWidthCondensed;
	}

	.sapUiSizeCondensed .sapUiTableRActS &,
	.sapUiSizeCondensed.sapUiTableRActS & {
		width: @_sap_ui_table_RowActionColumnSmallWidthCondensed;
	}

	> span {
		display: none;
	}
}

.sapUiTableDataCell {
	padding: 0;
	vertical-align: middle;

	> .sapUiTableCellInner {
		text-overflow: ellipsis;
		overflow: hidden;
		padding: @_sap_ui_table_Cell_Padding;
		white-space: nowrap;
	}
}

.sapUiTableRowSelectionCell {
	cursor: pointer;
}

.sapUiTableRowSelectionCell,
.sapUiTableRowActionCell {
	position: relative;
}

.sapUiTableRowActionCell {
	display: flex;
	align-items: center;
	min-width: @_sap_ui_table_RowActionColumnWidth;

	.sapUiTableRActS & {
		min-width: @_sap_ui_table_RowActionColumnSmallWidth;
	}

	.sapUiSizeCozy & {
		min-width: @_sap_ui_table_RowActionColumnWidthCozy;
	}

	.sapUiSizeCozy .sapUiTableRActS &,
	.sapUiSizeCozy.sapUiTableRActS & {
		min-width: @_sap_ui_table_RowActionColumnSmallWidthCozy;
	}

	.sapUiSizeCondensed & {
		min-width: @_sap_ui_table_RowActionColumnWidthCondensed;
	}

	.sapUiSizeCondensed .sapUiTableRActS &,
	.sapUiSizeCondensed.sapUiTableRActS & {
		min-width: @_sap_ui_table_RowActionColumnSmallWidthCondensed;
	}

	.sapUiTableRowNavIndicator & {
		min-width: @_sap_ui_table_NavIndicatorWidth;
	}
}

.sapUiTableCellDummy {
	border-left: @_sap_ui_table_BaseBorderWidth solid @_sap_ui_table_Cell_DummyBorderColor;
	pointer-events: none;

	.sapUiTableContentRow & {
		background-color: var(--sapBackgroundColor) !important;
	}
}

.sapUiTableCellFlex {

	> .sapUiTableCellInner {
		display: flex;
		align-items: center;

		> * {
			overflow: hidden;
		}
	}
}

.sapUiTableRowHidden > .sapUiTableCell > *,
.sapUiTableCellHidden > * {
	display: none;
}

/**
 * If there is no element (selection/highlight/expand/collapse) at the left most of the table
 * then the first cell must have 1rem left padding while regular cells have 0.5rem left padding
 * this additional 0.5rem padding decreases the max content width of the column cells 0.5rem.
 * The selector below is adding additional 0.5rem padding to the first th elements of the table.
 * Since the box-sizing is content-box for table cells this will increase the DOM column width
 * 0.5rem when compared to the width property of the column. Although this might not be desired
 * it is now aligned with the resposive table behavior.
 * Another alternative would be rendering a dummy 0.5rem width column. While this can solve the
 * API and DOM column width difference, changing the table layout might be expensive.
 */
.sapUiTable:not(.sapUiTableRowSelectors, .sapUiTableRowHighlights) .sapUiTableFirstVisibleColumnTH {
	padding-left: .25rem;
	padding-right: .25rem;
}
/* END "Cell.less" */

/* START "RowHighlight.less" */
/* ================================== */
/* CSS for sap.ui.table/RowHighlight  */
/* Base theme                         */
/* ================================== */

@_sap_ui_table_RowHighlight_SuccessColor: var(--sapSuccessBorderColor);
@_sap_ui_table_RowHighlight_ErrorColor: var(--sapErrorBorderColor);
@_sap_ui_table_RowHighlight_WarningColor: var(--sapWarningBorderColor);
@_sap_ui_table_RowHighlight_InformationColor: var(--sapInformationBorderColor);
@_sap_ui_table_RowHighlight_Indication01Color: var(--sapIndicationColor_1);
@_sap_ui_table_RowHighlight_Indication02Color: var(--sapIndicationColor_2);
@_sap_ui_table_RowHighlight_Indication03Color: var(--sapIndicationColor_3);
@_sap_ui_table_RowHighlight_Indication04Color: var(--sapIndicationColor_4);
@_sap_ui_table_RowHighlight_Indication05Color: var(--sapIndicationColor_5);
@_sap_ui_table_RowHighlight_Indication06Color: var(--sapIndicationColor_6);
@_sap_ui_table_RowHighlight_Indication07Color: var(--sapIndicationColor_7);
@_sap_ui_table_RowHighlight_Indication08Color: var(--sapIndicationColor_8);
@_sap_ui_table_RowHighlight_Indication09Color: var(--sapIndicationColor_9);
@_sap_ui_table_RowHighlight_Indication10Color: var(--sapIndicationColor_10);

.sapUiTableRowHighlight {
	height: 100%;
	width: @_sap_ui_table_RowHighlightIndicatorWidth;
	border-right: @_sap_ui_table_RowHighlightBorderRightWidth solid var(--sapList_Background);

	&.sapUiTableRowHighlightNone {
		border-right-color: transparent;
	}

	.sapUiTableGroupHeaderRow &,
	.sapUiTableSummaryRow & {
		display: none;
	}

	&.sapUiTableRowHighlightSuccess {
		background-color: @_sap_ui_table_RowHighlight_SuccessColor;
	}

	&.sapUiTableRowHighlightError {
		background-color: @_sap_ui_table_RowHighlight_ErrorColor;
	}

	&.sapUiTableRowHighlightWarning {
		background-color: @_sap_ui_table_RowHighlight_WarningColor;
	}

	&.sapUiTableRowHighlightInformation {
		background-color: @_sap_ui_table_RowHighlight_InformationColor;
	}

	&.sapUiTableRowHighlightIndication01 {
		background-color: @_sap_ui_table_RowHighlight_Indication01Color;
	}

	&.sapUiTableRowHighlightIndication02 {
		background-color: @_sap_ui_table_RowHighlight_Indication02Color;
	}

	&.sapUiTableRowHighlightIndication03 {
		background-color: @_sap_ui_table_RowHighlight_Indication03Color;
	}

	&.sapUiTableRowHighlightIndication04 {
		background-color: @_sap_ui_table_RowHighlight_Indication04Color;
	}

	&.sapUiTableRowHighlightIndication05 {
		background-color: @_sap_ui_table_RowHighlight_Indication05Color;
	}

	&.sapUiTableRowHighlightIndication06 {
		background-color: @_sap_ui_table_RowHighlight_Indication06Color;
	}

	&.sapUiTableRowHighlightIndication07 {
		background-color: @_sap_ui_table_RowHighlight_Indication07Color;
	}

	&.sapUiTableRowHighlightIndication08 {
		background-color: @_sap_ui_table_RowHighlight_Indication08Color;
	}

	&.sapUiTableRowHighlightIndication09 {
		background-color: @_sap_ui_table_RowHighlight_Indication09Color;
	}

	&.sapUiTableRowHighlightIndication10 {
		background-color: @_sap_ui_table_RowHighlight_Indication10Color;
	}
}
/* END "RowHighlight.less" */

/* START "RowSelection.less" */
/* ================================== */
/* CSS for sap.ui.table/RowSelection  */
/* Base theme                         */
/* ================================== */

@_sap_ui_table_RowSelection_CheckBoxSize: 1rem;
@_sap_ui_table_RowSelection_CheckBoxSizeCozy: 1.375rem;
@_sap_ui_table_RowSelection_CheckBoxBorderWidth: 0.125rem;
@_sap_ui_table_RowSelection_CheckBoxBorderRadius: 0;
@_sap_ui_table_RowSelection_CheckBoxBorderRadiusCozy: 0.125rem;
@_sap_ui_table_RowSelection_CheckBoxBorderColor: var(--sapField_BorderColor);
@_sap_ui_table_RowSelection_CheckBoxBorderColorHovered: var(--sapField_Hover_BorderColor);
@_sap_ui_table_RowSelection_CheckBoxIconSize: 0.625rem;
@_sap_ui_table_RowSelection_CheckBoxIconSizeCozy: 1rem;
@_sap_ui_table_RowSelection_CheckBoxIconColor: var(--sapSelectedColor);

.sapUiTableSelectAllCheckBox,
.sapUiTableRowSelectionCell {

	&::after {
		content: '';
		position: absolute;
		border: @_sap_ui_table_RowSelection_CheckBoxBorderWidth solid @_sap_ui_table_RowSelection_CheckBoxBorderColor;
		background-color: var(--sapField_Background);
		font-family: var(--sapContent_IconFontFamily);
		text-align: center;
		color: @_sap_ui_table_RowSelection_CheckBoxIconColor;
		box-sizing: border-box;
		margin: auto;
		top: 0;
		left: 0;
		bottom: 0;
		right: 0;
		width: @_sap_ui_table_RowSelection_CheckBoxSize;
		height: @_sap_ui_table_RowSelection_CheckBoxSize;
		font-size: @_sap_ui_table_RowSelection_CheckBoxIconSize;
		border-radius: @_sap_ui_table_RowSelection_CheckBoxBorderRadius;

		.sapUiSizeCozy & {
			width: @_sap_ui_table_RowSelection_CheckBoxSizeCozy;
			height: @_sap_ui_table_RowSelection_CheckBoxSizeCozy;
			font-size: @_sap_ui_table_RowSelection_CheckBoxIconSizeCozy;
			border-radius: @_sap_ui_table_RowSelection_CheckBoxBorderRadiusCozy;
		}
	}
}

.sapUiTableSelectAllCheckBox {
	display: none;
	height: 100%;
	width: 100%;

	.sapUiTableSelModeMultiToggle .sapUiTableRowSelectionHeaderCell.sapUiTableSelAllVisible & {
		display: block;
	}

	&::after {
		display: flex;
		justify-content: center;
		align-items: center;

		/* Select All Checkbox should always be at the bottom */
		top: auto;
		bottom: calc(~"(" @_sap_ui_table_ColumnHeaderHeight ~"-" @_sap_ui_table_RowSelection_CheckBoxSize ~") / 2");

		.sapUiSizeCozy & {
			/* Select All Checkbox should always be at the bottom */
			bottom: calc(~"(" @_sap_ui_table_ColumnHeaderHeightCozy ~"-" @_sap_ui_table_RowSelection_CheckBoxSizeCozy ~") / 2");
		}

		.sapUiTableRowSelectionHeaderCell:not(.sapUiTableSelAll) & {
			content: '\e05b';
		}

		.sapUiTableRowHighlights & {
			left: @_sap_ui_table_RowHighlightWidth;
		}
	}

	&:hover::after {
		border-color: @_sap_ui_table_RowSelection_CheckBoxBorderColorHovered;
	}
}

.sapUiTableRowSelectionCell::after {
	display: none;

	.sapUiTableSelModeMultiToggle.sapUiTableRowSelectors & {
		display: flex;
		justify-content: center;
		align-items: center;
	}

	.sapUiTableGroupHeaderRow > &,
	.sapUiTableRowHidden > &,
	.sapUiTableSummaryRow > & {

		.sapUiTableSelModeMultiToggle & {
			display: none;
		}
	}

	.sapUiSizeCozy & {
		width: @_sap_ui_table_RowSelection_CheckBoxSizeCozy;
		height: @_sap_ui_table_RowSelection_CheckBoxSizeCozy;
		font-size: @_sap_ui_table_RowSelection_CheckBoxIconSizeCozy;
	}

	.sapUiTableRowHighlights & {
		left: @_sap_ui_table_RowHighlightWidth;
	}

	.sapUiTableRowSel & {

		.sapUiTableSelModeMultiToggle & {
			content: '\e05b';
		}
	}

	.sapUiTableRowHvr & {
		border-color: @_sap_ui_table_RowSelection_CheckBoxBorderColorHovered;
	}
}

.sapUiTableSelectClear {
	width: 100%;
	height: 100%;

	&::before {
		display: block !important; /* otherwise will be overwritten by icon css rules in RTL */
		position: absolute;
		width: 100%;
		font-size: @_sap_ui_table_RowSelection_CheckBoxIconSizeCozy;
		line-height: @_sap_ui_table_RowSelection_CheckBoxSizeCozy;
		bottom: calc(~"(" @_sap_ui_table_ColumnHeaderHeight ~"-" @_sap_ui_table_RowSelection_CheckBoxSizeCozy ~") / 2");

		.sapUiSizeCozy & {
			bottom: calc(~"(" @_sap_ui_table_ColumnHeaderHeightCozy ~"-" @_sap_ui_table_RowSelection_CheckBoxSizeCozy ~") / 2");
		}

		.sapUiTableRowHighlights.sapUiTableRowSelectors & {
			padding: 0 calc(~"(" @_sap_ui_table_RowHighlightWidth ~") / 2");
		}
	}

	&:active {

		/* The active state background color and text color should not be applied if column reordering is in progress. */
		.sapUiTable:not(.sapUiTableDragDrop) & {
			background-color: var(--sapList_Active_Background);
			color: var(--sapList_Active_TextColor);
		}
	}
}
/* END "RowSelection.less" */

/* START "RowAction.less" */
/* ======================================= */
/* CSS for control sap.ui.table/RowAction  */
/* Base theme                              */
/* ======================================= */

.sapUiTableAction {
	padding: 0 @_sap_ui_table_RowActionPadding;

	&.sapUiTableActionHidden,
	.sapUiTableGroupHeaderRow &,
	.sapUiTableSummaryRow & {
		display: none;
	}
}

.sapUiTableActionIcon {
	height: @_sap_ui_table_RowActionItemSize;
	width: @_sap_ui_table_RowActionItemSize;
	line-height: @_sap_ui_table_RowActionItemSize;
	color: var(--sapContent_IconColor);
	font-size: 1rem;

	/* If the first action item is hidden, move the second item to the position where it would be if the first item wasn't hidden. */
	.sapUiTableAction > .sapUiTableActionHidden + & {
		margin-left: @_sap_ui_table_RowActionItemSize;

		.sapUiSizeCozy & {
			margin-left: @_sap_ui_table_RowActionItemSizeCozy;
		}

		.sapUiSizeCondensed & {
			margin-left: @_sap_ui_table_RowActionItemSizeCondensed;
		}
	}

	&.sapUiTableActionHidden {
		display: none;
	}

	.sapUiSizeCozy & {
		height: @_sap_ui_table_RowActionItemSizeCozy;
		width: @_sap_ui_table_RowActionItemSizeCozy;
		line-height: @_sap_ui_table_RowActionItemSizeCozy;
	}

	.sapUiSizeCondensed & {
		height: @_sap_ui_table_RowActionItemSizeCondensed;
		width: @_sap_ui_table_RowActionItemSizeCondensed;
		line-height: @_sap_ui_table_RowActionItemSizeCondensed;
		font-size: 0.75rem;
	}
}
/* END "RowAction.less" */

/* START "Scrolling.less" */
/* =============================== */
/* CSS for sap.ui.table/Scrolling  */
/* Base theme                      */
/* =============================== */

/*
 * BEHAVIOR CLASSES:
 * -----------------
 * sapUiTableVScr   - display vertical scrollbar
 * sapUiTableHScr   - display horizontal scrollbar
 */
@_sap_ui_table_Scrolling_ScrollbarSize: 16px;
@_sap_ui_table_Scrolling_ScrollbarSizeMobile: 8px;

@_sap_ui_table_Scrolling_HScrollbarHeight: @_sap_ui_table_Scrolling_ScrollbarSize;
@_sap_ui_table_Scrolling_HScrollbarHeightMobile: @_sap_ui_table_Scrolling_ScrollbarSizeMobile;

@_sap_ui_table_Scrolling_VScrollbarWidth: calc(@_sap_ui_table_Scrolling_ScrollbarSize ~"+" @_sap_ui_table_BaseBorderWidth);
@_sap_ui_table_Scrolling_VScrollbarWidthMobile: calc(@_sap_ui_table_Scrolling_ScrollbarSizeMobile ~"+" @_sap_ui_table_BaseBorderWidth);

@_sap_ui_table_Scrolling_ScrollbarBackground: var(--sapList_HeaderBackground);

/* Can be used in other themes to add styles for which there are no style definitions in the base theme and therefore no theme parameters. */
._sap_ui_table_Scrolling_NativeScrollbarCommon() {}
._sap_ui_table_Scrolling_NativeScrollbarDesktop() {}
._sap_ui_table_Scrolling_NativeScrollbarMobile() {}

.sapUiTableVSbContainer {
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	width: @_sap_ui_table_Scrolling_VScrollbarWidth;
	box-sizing: border-box;
	border-left: @_sap_ui_table_BaseBorderWidth solid @sapUiListVerticalBorderColor;
	background-color: @_sap_ui_table_Scrolling_ScrollbarBackground;
	z-index: 4; /* Ensure that the resize/reorder bars do not become visible/active when hovering the scrollbar. */

	&.sapUiTableVSbExternal {
		position: relative;
	}
}

.sapUiTableVSb {
	width: 100%;
	position: absolute;
	overflow-x: hidden;
	overflow-y: scroll;
	-webkit-overflow-scrolling: auto;
	background-color: var(--sapList_Background);
}

.sapUiTableVSbHeader {
	width: @_sap_ui_table_Scrolling_VScrollbarWidth;
	box-sizing: border-box;
	height: 100%;
	position: absolute;
	right: 0;
	top: 0;
	background-color: var(--sapList_HeaderBackground);
	border-left: @_sap_ui_table_BaseBorderWidth solid @sapUiListVerticalBorderColor;
	display: none;

	.sapUiTableVScr & {
		display: block;
	}
}

.sapUiTableVSbContent {
	width: 1px;
}

.sapUiTableVScr {

	.sapUiTableHSb,
	.sapUiTableCtrlScr,
	.sapUiTableColHdrScr,
	.sapUiTableRowActionScr,
	.sapUiTableRowWithAction {
		margin-right: @_sap_ui_table_Scrolling_VScrollbarWidth;
	}
}

._sapUiTableVScrWithActionsInnerMixin(@variant:"Width") {
	@RowActionWidth: "_sap_ui_table_RowActionColumn@{variant}";
	.sapUiTableHSb, .sapUiTableCtrlScr, .sapUiTableColHdrScr {
		margin-right: calc(@_sap_ui_table_Scrolling_VScrollbarWidth ~"+" @@RowActionWidth);
	}

	.sapUiTableRowActionHeaderCell {
		margin-right: @_sap_ui_table_Scrolling_VScrollbarWidth;
	}

	html.sap-tablet:not(.sap-desktop) &,
	html.sap-phone & {

		.sapUiTableHSb,
		.sapUiTableCtrlScr,
		.sapUiTableColHdrScr {
			margin-right: calc(@_sap_ui_table_Scrolling_VScrollbarWidthMobile ~"+" @@RowActionWidth);
		}

		.sapUiTableRowActionHeaderCell {
			margin-right: @_sap_ui_table_Scrolling_VScrollbarWidthMobile;
		}
	}
}

._sapUiTableNoVScrWithActionsInnerMixin(@variant:"Width") {
	@RowActionWidth: "_sap_ui_table_RowActionColumn@{variant}";

	.sapUiTableHSb,
	.sapUiTableCtrlScr,
	.sapUiTableColHdrScr {
		margin-right: calc(@@RowActionWidth);
	}

	.sapUiTableRowActionHeaderCell {
		margin-right: 0px;
	}
}

.sapUiTableVScr {

	.sapUiTableHSb,
	.sapUiTableCtrlScr,
	.sapUiTableColHdrScr,
	.sapUiTableRowActionScr,
	.sapUiTableRowWithAction {
		margin-right: @_sap_ui_table_Scrolling_VScrollbarWidth;

		html.sap-tablet:not(.sap-desktop) &,
		html.sap-phone & {
			margin-right: @_sap_ui_table_Scrolling_VScrollbarWidthMobile;
		}
	}
}

.sapUiTableVScr.sapUiTableRAct {

	._sapUiTableVScrWithActionsInnerMixin();
}

.sapUiSizeCozy.sapUiTableVScr.sapUiTableRAct,
.sapUiSizeCozy .sapUiTableVScr.sapUiTableRAct {

	._sapUiTableVScrWithActionsInnerMixin("WidthCozy");
}

.sapUiSizeCondensed.sapUiTableVScr.sapUiTableRAct,
.sapUiSizeCondensed .sapUiTableVScr.sapUiTableRAct {

	._sapUiTableVScrWithActionsInnerMixin("WidthCondensed");
}

.sapUiTableVScr.sapUiTableRActS {

	._sapUiTableVScrWithActionsInnerMixin("SmallWidth");
}

.sapUiSizeCozy.sapUiTableVScr.sapUiTableRActS,
.sapUiSizeCozy .sapUiTableVScr.sapUiTableRActS {

	._sapUiTableVScrWithActionsInnerMixin("SmallWidthCozy");
}

.sapUiSizeCondensed.sapUiTableVScr.sapUiTableRActS,
.sapUiSizeCondensed .sapUiTableVScr.sapUiTableRActS {

	._sapUiTableVScrWithActionsInnerMixin("SmallWidthCondensed");
}

.sapUiTableRAct:not(.sapUiTableVScr) {

	._sapUiTableNoVScrWithActionsInnerMixin();
}

.sapUiSizeCozy.sapUiTableRAct:not(.sapUiTableVScr),
.sapUiSizeCozy .sapUiTableRAct:not(.sapUiTableVScr) {

	._sapUiTableNoVScrWithActionsInnerMixin("WidthCozy");
}

.sapUiSizeCondensed.sapUiTableRAct:not(.sapUiTableVScr),
.sapUiSizeCondensed .sapUiTableRAct:not(.sapUiTableVScr) {

	._sapUiTableNoVScrWithActionsInnerMixin("WidthCondensed");
}

.sapUiTableRActS:not(.sapUiTableVScr) {

	._sapUiTableNoVScrWithActionsInnerMixin("SmallWidth");
}

.sapUiSizeCozy.sapUiTableRActS:not(.sapUiTableVScr),
.sapUiSizeCozy .sapUiTableRActS:not(.sapUiTableVScr) {

	._sapUiTableNoVScrWithActionsInnerMixin("SmallWidthCozy");
}

.sapUiSizeCondensed.sapUiTableRActS:not(.sapUiTableVScr),
.sapUiSizeCondensed .sapUiTableRActS:not(.sapUiTableVScr) {

	._sapUiTableNoVScrWithActionsInnerMixin("SmallWidthCondensed");
}

/* Hide last border right of column header and cell when no vertical scroll is available */
.sapUiTable:not(.sapUiTableVScr) {

	.sapUiTableColHdrScr .sapUiTableHeaderCell:last-child,
	.sapUiTableCtrlScroll .sapUiTableTr > td:last-child {
		border-right: none;
	}
}

.sapUiTableHSb,
.sapUiTableHSbBg {
	display: none;
	height: @_sap_ui_table_Scrolling_HScrollbarHeight;
	margin: 0;
	box-sizing: border-box;
}

.sapUiTableHSb {
	position: relative;
	overflow-x: scroll;
	overflow-y: hidden;
	-webkit-overflow-scrolling: auto;
	border-right: @_sap_ui_table_BaseBorderWidth solid transparent; /* Simulates the right border of the table cells in the content area */
	background-color: var(--sapList_Background);
}

.sapUiTableHSbBg {
	position: absolute;
	bottom: 0;
	left: 0;
	right: 0;
	background-color: @_sap_ui_table_Scrolling_ScrollbarBackground;
}

.sapUiTableHSbExternal {
	height: @_sap_ui_table_Scrolling_HScrollbarHeight;
	overflow-x: scroll;
	overflow-y: hidden;
	-webkit-overflow-scrolling: auto;
	background-color: var(--sapList_Background);
}

.sapUiTableHSbContent {
	height: 1px;
}

.sapUiTableHScr {

	.sapUiTableHSb,
	.sapUiTableHSbBg {
		display: block;
	}

	.sapUiTableFtr {
		border-top: @_sap_ui_table_BaseBorderWidth solid var(--sapList_HeaderBorderColor);
	}

	.sapUiTableColReorderIndicator,
	.sapUiTableColRsz {
		bottom: @_sap_ui_table_Scrolling_HScrollbarHeight;
	}

}

.sapUiTableVSb,
.sapUiTableHSb,
.sapUiTableHSbExternal {

	&::-webkit-scrollbar-thumb {
		background-color: var(--sapScrollBar_FaceColor);
	}

	&::-webkit-scrollbar {
		background-color: var(--sapScrollBar_TrackColor);
	}

	._sap_ui_table_Scrolling_NativeScrollbarCommon();
}

html.sap-desktop {

	.sapUiTableVSb,
	.sapUiTableHSb,
	.sapUiTableHSbExternal {

		._sap_ui_table_Scrolling_NativeScrollbarDesktop();
	}

	.sapUiTableVSb {

		&::-webkit-scrollbar:vertical {
			width: @_sap_ui_table_Scrolling_ScrollbarSize;
		}

		&::-webkit-scrollbar-thumb:vertical {
			border-left: 0.125rem solid var(--sapScrollBar_TrackColor);
			border-right: 0.125rem solid var(--sapScrollBar_TrackColor);
		}
	}

	.sapUiTableHSb,
	.sapUiTableHSbExternal {

		&::-webkit-scrollbar:horizontal {
			height: @_sap_ui_table_Scrolling_ScrollbarSize;
		}

		&::-webkit-scrollbar-thumb:horizontal {
			border-top: 0.125rem solid var(--sapScrollBar_TrackColor);
			border-bottom: 0.125rem solid var(--sapScrollBar_TrackColor);
		}
	}
}

html.sap-tablet:not(.sap-desktop),
html.sap-phone {

	.sapUiTableVSb,
	.sapUiTableHSb,
	.sapUiTableHSbExternal {
		-webkit-appearance: none;
		._sap_ui_table_Scrolling_NativeScrollbarMobile();
	}

	.sapUiTableVSb {

		&::-webkit-scrollbar:vertical {
			width: @_sap_ui_table_Scrolling_ScrollbarSizeMobile;
		}

		&::-webkit-scrollbar-thumb:vertical {
			width: 0.25rem;
			min-height: 0.25rem;
			border-left: 0.125rem solid var(--sapScrollBar_BorderColor);
			border-right: 0.125rem solid var(--sapScrollBar_BorderColor);
		}
	}

	.sapUiTableHSb,
	.sapUiTableHSbExternal {

		&::-webkit-scrollbar:horizontal {
			height: @_sap_ui_table_Scrolling_ScrollbarSizeMobile;
		}

		&::-webkit-scrollbar-thumb:horizontal {
			height: 0.25rem;
			min-width: 0.25rem;
			border-top: 0.125rem solid var(--sapScrollBar_BorderColor);
			border-bottom: 0.125rem solid var(--sapScrollBar_BorderColor);
		}
	}

	.sapUiTableVSbContainer,
	.sapUiTableVSbHeader {
		width: @_sap_ui_table_Scrolling_VScrollbarWidthMobile;
	}

	.sapUiTableHSb,
	.sapUiTableHSbBg,
	.sapUiTableHSbExternal {
		height: @_sap_ui_table_Scrolling_HScrollbarHeightMobile;
	}

	.sapUiTableVScr {

		.sapUiTableCtrlScr,
		.sapUiTableColHdrScr,
		.sapUiTableHSb,
		.sapUiTableRowActionScr,
		.sapUiTableRowWithAction {
			margin-right: @_sap_ui_table_Scrolling_VScrollbarWidthMobile;
		}
	}

	.sapUiTableHScr {

		.sapUiTableColReorderIndicator,
		.sapUiTableColRsz,
		.sapUiTableRowActionScr,
		.sapUiTableRowWithAction {
			bottom: @_sap_ui_table_Scrolling_HScrollbarHeightMobile;
		}
	}
}
/* END "Scrolling.less" */

/* START "ScrollingIOS.less" */
/* ================================== */
/* CSS for sap.ui.table/ScrollingIOS  */
/* Base theme                         */
/* ================================== */

.sapUiTableVSbIOS {
	position: absolute;
	width: 100%;
	z-index: 5;

	.sapUiTableVSbIOSThumb {
		position: relative;
		background-color: #949494;
		border-radius: 0.25rem;
		left: @_sap_ui_table_BaseBorderWidth;
		width: calc(100% ~"-" calc(2 * @_sap_ui_table_BaseBorderWidth));
	}
}
/* END "ScrollingIOS.less" */

/* START "DragDrop.less" */
/* ============================== */
/* CSS for sap.ui.table/DragDrop  */
/* Base theme                     */
/* ============================== */

@_sap_ui_table_DragDrop_ColumnDnDHighlightColor: var(--sapList_HighlightColor);
@_sap_ui_table_DragDrop_ReorderIndicatorWidth: 2px;

.sapUiTableDragDrop {
	cursor: move;

	.sapUiTableCCnt,
	.sapUiTableColRsz {
		pointer-events: none;
	}

	.sapUiTableHeaderCell {
		cursor: move;

		* {
			cursor: move;
		}
	}
}

/* Column Reordering */

.sapUiTableHeaderCell.sapUiTableColReorderGhost {
	position: absolute;
	width: auto;
	max-width: 200px;
	cursor: pointer;
	border: @_sap_ui_table_BaseBorderWidth solid var(--sapList_BorderColor);
	background-color: var(--sapList_HeaderBackground);
	box-shadow: @sapUiShadowLevel2;
}

.sapUiSizeCozy.sapUiTableHeaderCell.sapUiTableColReorderGhost .sapUiTableCellInner > * {
	height: 100%;
	line-height: @_sap_ui_table_BaseSizeCozy;
}

.sapUiSizeCozy.sapUiTableHeaderCell.sapUiTableColReorderGhost {
	padding-top: 0;
	padding-bottom: 0;
}

.sapUiTableColReorderIndicator {
	position: absolute;
	top: 0;
	bottom: 0;
	left: auto; /*set dynamically*/
	width: 4 * @_sap_ui_table_DragDrop_ReorderIndicatorWidth;
	margin-left: (-4) * @_sap_ui_table_DragDrop_ReorderIndicatorWidth + @_sap_ui_table_DragDrop_ReorderIndicatorWidth;
	z-index: 3;
	display: none;
}

html[dir=rtl] .sapUiTableColReorderIndicator {
	margin-right: (-4) * @_sap_ui_table_DragDrop_ReorderIndicatorWidth + 2 * @_sap_ui_table_DragDrop_ReorderIndicatorWidth;
}

.sapUiTableColReorderIndicatorActive {
	display: block;
}

html[data-sap-ui-animation^='on'] .sapUiTableColReorderIndicator {
	transition-property: left;
	transition-duration: 100ms;
}

.sapUiTableColReorderIndicatorInner {
	position: absolute;
	top: 4 * @_sap_ui_table_DragDrop_ReorderIndicatorWidth;
	left: 2 * @_sap_ui_table_DragDrop_ReorderIndicatorWidth;
	bottom: 0;
	width: @_sap_ui_table_DragDrop_ReorderIndicatorWidth;
	background-color: @_sap_ui_table_DragDrop_ColumnDnDHighlightColor;
}

.sapUiTableColReorderIndicatorArrow {
	position: absolute;
	top: 0;
	left: 1px;
	width: 0;
}

.sapUiTableColReorderIndicatorArrow::after,
.sapUiTableColReorderIndicatorArrow::before {
	position: absolute;
	top: 0;
	content: ' ';
}

.sapUiTableColReorderIndicatorArrow::after {
	height: 2 * @_sap_ui_table_DragDrop_ReorderIndicatorWidth;
	width: 2 * @_sap_ui_table_DragDrop_ReorderIndicatorWidth;
	border-radius: @_sap_ui_table_DragDrop_ReorderIndicatorWidth;
	top: @_sap_ui_table_DragDrop_ReorderIndicatorWidth;
	left: @_sap_ui_table_DragDrop_ReorderIndicatorWidth;
	background-color: var(--sapList_HeaderBackground);
}

.sapUiTableColReorderIndicatorArrow::before {
	height: 4 * @_sap_ui_table_DragDrop_ReorderIndicatorWidth;
	width: 4 * @_sap_ui_table_DragDrop_ReorderIndicatorWidth;
	border-radius: 2 * @_sap_ui_table_DragDrop_ReorderIndicatorWidth;
	background-color: @_sap_ui_table_DragDrop_ColumnDnDHighlightColor;
}

.sapUiTableColReorderFade {
	position: relative;
}

.sapUiTableColReorderFade::after {
	content: ' ';
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: -1px;
	z-index: 3;
	background-color: var(--sapList_Hover_Background);
	opacity: 0.5;
	box-sizing: border-box;
}

/* Column Resizing */

.sapUiTableColRsz {
	position: absolute;
	top: 0;
	width: 5px;
	margin-left: -4px;
	bottom: 0;
	cursor: col-resize;
	z-index: 3;
	box-sizing: border-box;
	left: -5px;
}

.sapUiTableColRsz.sapUiTableColRszActive {
	z-index: 5; /* Ensure be above Row Action Area */
}

html[dir=rtl] .sapUiTableColRsz {
	margin-right: -3px;
	right: -5px; /* it becomes "left" in RTL mode */
	left: auto;
}

html.sap-desktop .sapUiTableColRsz:hover {
	background-color: @_sap_ui_table_DragDrop_ColumnDnDHighlightColor;
	opacity: 0.5;
}

.sapUiTableColRszActive,
html.sap-desktop .sapUiTableColRsz.sapUiTableColRszActive:hover {
	background-color: @_sap_ui_table_DragDrop_ColumnDnDHighlightColor;
	opacity: 1;
}

/* Table Height Resizing */

.sapUiTableHeightResizer {
	position: relative;
	cursor: row-resize;
	height: 1rem;
	display: flex;
	justify-content: center;
	align-items: center;
	background-color: var(--sapContent_ForegroundColor);
	border-top: solid 0.0625rem var(--sapGroup_ContentBorderColor);
	border-bottom: solid 0.0625rem var(--sapGroup_ContentBorderColor);

	.sapUiTableHeightResizerDecorationBefore {
		width: 4rem;
		height: 1rem;
		background-image: linear-gradient(to left, var(--sapGroup_ContentBorderColor), transparent);
		background-size: 100% 0.0625rem;
		background-repeat: no-repeat;
		background-position: center;
	}

	.sapUiTableHeightResizerDecorationAfter {
		width: 4rem;
		height: 1rem;
		background-image: linear-gradient(to right, var(--sapGroup_ContentBorderColor), transparent);
		background-size: 100% 0.0625rem;
		background-repeat: no-repeat;
		background-position: center;
	}

	.sapUiTableHeightResizerGrip {
		color: var(--sapButton_Lite_TextColor);
		height: 1.5rem;
		line-height: 1.5rem;
		width: 2rem;
		position: relative;
		z-index: 1;

		.sapUiTableHeightResizerGripIcon {
			cursor: row-resize;
			box-sizing: border-box;
			width: 1.625rem;
			height: 1.5rem;
			line-height: ~"calc(1.5rem - var(--sapButton_BorderWidth) - var(--sapButton_BorderWidth))";
			margin-left: 3px;
			border: var(--sapButton_BorderWidth) solid var(--sapButton_Lite_BorderColor);
			border-radius: var(--sapButton_BorderCornerRadius);
			background: var(--sapButton_Lite_Background);
		}
	}

	&:hover {

		.sapUiTableHeightResizerDecorationBefore,
		.sapUiTableHeightResizerDecorationAfter {
			flex-grow: 1;
			transition: all 0.1s ease-in;
		}

		.sapUiTableHeightResizerGripIcon {
			background: var(--sapButton_Lite_Background);
			border-color: var(--sapButton_Lite_BorderColor);
		}
	}

	&:focus {
		outline: none;
	}

	&:focus::after {
		content: '';
		display: block;
		position: absolute;
		top: 0;
		right: 0;
		bottom: 0;
		left: 0;
		border: var(--sapContent_FocusWidth) var(--sapContent_FocusStyle) var(--sapContent_FocusColor);
	}

	&.sapUiTableHeightResizerActive {

		.sapUiTableHeightResizerDecorationBefore {
			flex-grow: 1;
			background-image: linear-gradient(to left, var(--sapContent_Selected_ForegroundColor), var(--sapContent_Selected_ForegroundColor));
		}

		.sapUiTableHeightResizerDecorationAfter {
			flex-grow: 1;
			background-image: linear-gradient(to right, var(--sapContent_Selected_ForegroundColor), var(--sapContent_Selected_ForegroundColor));
		}
	}
}

.sapUiTable:has(.sapUiTableHeightResizerActive) {
	z-index: 10000;
}

.sapUiTableRowGhost {
	z-index: auto;

	> * {
		z-index: auto;
	}

	> .sapUiTableRowGhostCount {
		position: absolute;
		top: -0.625rem;
		right: 0;
		height: @_sap_ui_table_RowHeight;
		width: @_sap_ui_table_RowHeight;

		.sapUiSizeCozy &,
		.sapUiSizeCozy& {
			height: @_sap_ui_table_RowHeightCozy;
			width: @_sap_ui_table_RowHeightCozy;
		}

		.sapUiSizeCondensed &,
		.sapUiSizeCondensed& {
			height: @_sap_ui_table_RowHeightCondensed;
			width: @_sap_ui_table_RowHeightCondensed;
		}

		display: flex;
		align-items: center;
		justify-content: center;
		background-color: @sapUiDragAndDropActiveBorderColor;
		border-radius: 0.125rem;

		> div {
			font-size: @sapMFontMediumSize;
			color: var(--sapList_Active_TextColor);

			.sapUiSizeCozy &,
			.sapUiSizeCozy& {
				font-size: var(--sapFontLargeSize);
			}

			.sapUiSizeCondensed &,
			.sapUiSizeCondensed& {
				font-size: var(--sapFontSmallSize);
			}
		}
	}
}
/* END "DragDrop.less" */

/* START "Grouping.less" */
/* ============================== */
/* CSS for sap.ui.table/Grouping  */
/* Base theme                     */
/* ============================== */

@_sap_ui_table_Grouping_GroupIconHeight: @_sap_ui_table_RowHeight;
@_sap_ui_table_Grouping_GroupIconHeightCozy: @_sap_ui_table_RowHeightCozy;
@_sap_ui_table_Grouping_GroupIconHeightCondensed: @_sap_ui_table_RowHeightCondensed;
@_sap_ui_table_Grouping_GroupHeaderBackground: @sapUiListTableGroupHeaderBackground;
@_sap_ui_table_Grouping_GroupHeaderFadingWidth: 40px;
@_sap_ui_table_Grouping_GroupOutlineWidth: var(--sapContent_FocusWidth);
@_sap_ui_table_Grouping_GroupIconBorderWidth: @_sap_ui_table_BaseBorderWidth;
@_sap_ui_table_Grouping_GroupIconFontSize: @sapMFontMediumSize;

@_sap_ui_table_Grouping_TreeIconFontSize: 0.75rem;
@_sap_ui_table_Grouping_TreeIconFontSizeCozy: 1rem;

.sapUiTableTreeIcon {
	display: flex;
	flex: none;
	justify-content: center;
	align-items: center;
	width: @_sap_ui_table_BaseSize;
	height: @_sap_ui_table_BaseSize;
	cursor: default;

	.sapUiSizeCondensed & {
		height: @_sap_ui_table_BaseSizeCondensed;
	}

	&:focus {
		outline: @_sap_ui_table_Grouping_GroupOutlineWidth var(--sapContent_FocusStyle) var(--sapContent_FocusColor);
		outline-offset: -2px;
	}
}

.sapUiTableGroupIcon {
	display: none;
	font-size: @_sap_ui_table_Grouping_GroupIconFontSize;
	cursor: pointer;
	line-height: calc(@_sap_ui_table_Grouping_GroupIconHeight ~"- 2 *" @_sap_ui_table_Grouping_GroupIconBorderWidth ~"-" @_sap_ui_table_Grouping_GroupOutlineWidth);
	position: absolute;
	left: 2px;
	top: @_sap_ui_table_Grouping_GroupOutlineWidth;
	bottom: @_sap_ui_table_Grouping_GroupOutlineWidth;
	white-space: nowrap;
	font-weight: normal;
	color: var(--sapList_TextColor);
	overflow: hidden;
	text-overflow: ellipsis;
	padding-right: @_sap_ui_table_Grouping_GroupHeaderFadingWidth;
	background-color: @_sap_ui_table_Grouping_GroupHeaderBackground;
	z-index: 1;
	box-sizing: border-box;
	border: @_sap_ui_table_Grouping_GroupIconBorderWidth solid transparent;
	background-clip: content-box;
}

.sapUiSizeCondensed .sapUiTableGroupIcon {
	line-height: calc(@_sap_ui_table_Grouping_GroupIconHeightCondensed ~"- 2 *" @_sap_ui_table_Grouping_GroupIconBorderWidth ~"-" @_sap_ui_table_Grouping_GroupOutlineWidth);
}

.sapUiSizeCozy .sapUiTableGroupIcon {
	line-height: calc(@_sap_ui_table_Grouping_GroupIconHeightCozy ~"- 2 *" @_sap_ui_table_Grouping_GroupIconBorderWidth ~"-" @_sap_ui_table_Grouping_GroupOutlineWidth);
}

.sapUiTableGroupIcon::before,
.sapUiTableTreeIcon::before {
	font-family: var(--sapContent_IconFontFamily);
	font-size: @_sap_ui_table_Grouping_TreeIconFontSize;
	color: var(--sapContent_IconColor);

	.sapUiSizeCozy & {
		font-size: @_sap_ui_table_Grouping_TreeIconFontSizeCozy;
	}
}

.sapUiTableGroupIcon::before {
	width: @_sap_ui_table_RowSelectorWidth;
	text-align: center;
	vertical-align: middle;
	margin-left: -2px;
	margin-right: 2px;

	.sapUiSizeCozy & {
		width: @_sap_ui_table_RowSelectorWidthCozy;
	}

	.sapUiTableRowHighlights.sapUiTableRowSelectors & {
		margin-left: calc(-2px ~'+' @_sap_ui_table_RowHighlightWidth);
	}
}

.sapUiTableGroupIcon.sapUiTableGroupIconOpen::before,
.sapUiTableTreeIcon.sapUiTableTreeIconNodeOpen::before {
	content: '\e1e2';
}

.sapUiTableGroupIcon.sapUiTableGroupIconClosed::before,
.sapUiTableTreeIcon.sapUiTableTreeIconNodeClosed::before {
	content: '\e066';
}

html[dir=rtl] {

	.sapUiTableGroupIcon.sapUiTableGroupIconClosed::before,
	.sapUiTableTreeIcon.sapUiTableTreeIconNodeClosed::before {
		content: '\e067';
	}
}

.sapUiTableTreeIcon.sapUiTableTreeIconLeaf {
	visibility: hidden;
}

.sapUiTableGroupHeaderFading(@color) {
	box-shadow: inset @_sap_ui_table_Grouping_GroupHeaderFadingWidth 0 @_sap_ui_table_Grouping_GroupHeaderFadingWidth / 2 -@_sap_ui_table_Grouping_GroupHeaderFadingWidth / 2 @color;
}

/* Fading effect for overlapping */
.sapUiTableGroupIcon::after {
	display: none;
	position: absolute;
	content: '';
	width: @_sap_ui_table_Grouping_GroupHeaderFadingWidth;
	top: 1px;
	bottom: 1px;
	right: 0;

	.sapUiTableGroupHeaderFading(@_sap_ui_table_Grouping_GroupHeaderBackground);
}

.sapUiTableGroupHeaderRow > .sapUiTableRowSelectionCell:focus {

	& .sapUiTableGroupIcon {
		outline-width: @_sap_ui_table_Grouping_GroupOutlineWidth;
		outline-style: var(--sapContent_FocusStyle);
		outline-offset: 0;
		outline-color: var(--sapContent_FocusColor);

		.sapUiSizeCondensed & {
			outline-width: 0.0625rem;
		}
	}

	&::before {
		outline: none !important;
	}
}

.sapUiTableGroupHeaderRow > .sapUiTableCell:focus::before {
	z-index: 2;
}

.sapUiTableGroupHeaderRow > .sapUiTableCell.sapUiTableCellFirst:focus::before,
.sapUiTableGroupMode .sapUiTableRowIndented > .sapUiTableCell.sapUiTableCellFirst:focus::before {
	left: var(--CalculatedGroupIndent, 0);
}

/* Override row background and cell borders in group header rows. */
.sapUiTableGroupHeaderRow {

	&.sapUiTableRow {
		background-color: @_sap_ui_table_Grouping_GroupHeaderBackground;
	}

	> .sapUiTableCell {

		&.sapUiTableRowSelectionCell,
		&.sapUiTableDataCell {
			border-right-color: transparent;
		}

		&.sapUiTableRowActionCell {
			border-left-color: transparent;
		}
	}
}

.sapUiTableGroupMode .sapUiTableGroupHeaderRow > .sapUiTableRowSelectionCell {

	> .sapUiTableGroupIcon {
		display: flex;
		align-items: center;

		&::before,
		&::after {
			display: block;
		}
	}
}

.sapUiTableGroupMode .sapUiTableGroupHeaderRow.sapUiTableRowHvr,
.sapUiTableGroupMode .sapUiTableRowHvr .sapUiTableGroupIcon {
	background-color: var(--sapList_Hover_Background);
}

.sapUiTableGroupMode .sapUiTableRowHvr .sapUiTableGroupIcon::after {
	.sapUiTableGroupHeaderFading(@sapUiListHoverBackground);
}

.sapUiTableGroupMode .sapUiTableRowFirstFixedBottom > .sapUiTableRowSelectionCell::before {
	border-top-color: @sapUiListTableFixedBorder;
}

.sapUiTableGroupShield {
	position: absolute;
	top: 0;
	left: -1px;
	bottom: -1px;
	box-sizing: border-box;
	width: 0;
	margin-left: -0px;
	background-color: var(--sapList_Background);
	pointer-events: none;
}

.sapUiTableRowHidden > .sapUiTableCell > .sapUiTableGroupShield {
	display: block;
}

.sapUiTableGroupHeaderRow > .sapUiTableRowSelectionCell:focus {
	outline: 0;
}

.sapUiTableGroupHeaderRow > .sapUiTableContentCell {
	box-sizing: border-box;
	border-bottom: 1px solid var(--sapList_TableGroupHeaderBorderColor);
}

.sapUiTableGroupHeaderRow:first-child > .sapUiTableContentCell {
	border-top: 0;
}

.sapUiTableGroupMode .sapUiTableTr.sapUiTableGroupHeaderRow > .sapUiTableCellDummy {
	background-color: @_sap_ui_table_Grouping_GroupHeaderBackground;
}

.sapUiTableGroupHeaderRow.sapUiTableRowLastScrollable > .sapUiTableRowSelectionCell,
.sapUiTableGroupMode .sapUiTableTr.sapUiTableGroupHeaderRow.sapUiTableRowLastScrollable > .sapUiTableCellDummy {
	border-bottom-color: @sapUiListTableFixedBorder;
}
/* END "Grouping.less" */

/* START "AnalyticalTable.less" */
/* ============================================= */
/* CSS for control sap.ui.table/AnalyticalTable  */
/* Base theme                                    */
/* ============================================= */

// sapUiAnalyticalTableGroupCellHidden and sapUiAnalyticalTableSumCellHidden provides the possibility for applications to hide
// the cell content of a column on group headers and / or sums by using addStyleClass of the column template
.sapUiAnalyticalTable .sapUiTableGroupHeaderRow .sapUiTableCellInner > .sapUiAnalyticalTableGroupCellHidden,
.sapUiAnalyticalTable .sapUiTableSummaryRow .sapUiTableCellInner > .sapUiAnalyticalTableSumCellHidden {
	visibility: hidden; /* hidden cell content*/
}

// Shift last cell content to left. On the right edge, the touch group menu button is placed.
html.sap-tablet:not(.sap-desktop), html.sap-phone {
	.sapUiAnalyticalTable .sapUiTableGroupMode:not(.sapUiTableRAct):not(.sapUiTableRActS) .sapUiTableCtrlScroll .sapUiTableGroupHeaderRow .sapUiTableCellLast {
		padding-right: 3rem; // The group menu button has a width of 2.5rem. Let the padding be slightly bigger.
	}
}
/* END "AnalyticalTable.less" */
