.teo-table {
	width: 100%;
	overflow: scroll;
	position: relative;
	border-radius: 6.5px;
	border-bottom: 1px solid #d4d4d4;
}

.teo-table table {
	width: 100%;
	font-size: 16px;
	font-weight: 600;
	border-collapse: separate;
	border-spacing: 0;
	table-layout: fixed;
}

.teo-table thead {
	position: sticky;
	top: 0;
	z-index: 2;
}

.teo-table th {
	background: linear-gradient(to bottom, #ffffff, #f3f3f3 27%, #e9e9e9 58%, #f7f7f7 89%);
	border-top: 1px solid #d9d8d8;
	border-right: 1px solid #d3d3d3;
	border-bottom: 1px solid #c5c5c5;
	text-align: left;
	color: #1f2937;
	text-shadow: 0 1px 1px #fff;
	position: relative;
	font-weight: 700;
	letter-spacing: -0.165px;
	height: 21px;
}

.teo-table th:active {
	background: linear-gradient(to bottom, #ffffff, #f3f3f3 27%, #e9e9e9 58%, #e8e8e8 89%);
}

.teo-table th div:nth-of-type(1) {
	white-space: nowrap;
	text-overflow: ellipsis;
	overflow: hidden;
	padding: 0px 21px 0px 7px;
	user-select: none;
	-webkit-user-select: none;
}

.teo-table table th:first-child {
	border-left: 1px solid #d4d4d4;
	border-top-left-radius: 6px;
}

.teo-table table th:last-child {
	border-top-right-radius: 6px;
}

.teo-table table th.selected:first-child {
	border-left: 1px solid #a5a1ff;
}

.teo-table th.selected {
	background: linear-gradient(to bottom, #f9f9ff, #b4cfff 25%, #6cb8f0 70%, #76c5ff 95%);
	border-top-color: #acb5dd;
	border-right-color: #a5a1ff;
	border-bottom-color: #7289fa;
}

.teo-table th.selected:active {
	background: linear-gradient(to bottom, #f9f9ff, #b3cfff 25%, #65b0e7 70%, #61aadf 95%);
}

.teo-table th:has(+ th.selected) {
	border-right-color: #a5a1ff;
}

.teo-table th.selected::after {
	position: absolute;
	right: 8px;
	top: 1px;
	color: #4c4c4c;
}

.teo-table th.selected.asc::after {
	content: "\25b2";
}

.teo-table th.selected.desc::after {
	content: "\25bc";
}

.teo-table th .grabber {
	width: 17px;
	height: 26px;
	cursor: ew-resize;
	position: absolute;
	top: -1px;
	right: -9px;
	z-index: 1;
}

.teo-table table td:first-child {
	border-left: 1px solid #d4d4d4;
}

.teo-table tr {
	transition: background-color 20ms linear;
	cursor: pointer;
}

.teo-table tr td a {
	text-decoration: none;
	color: #000;
	font-weight: 600;
	border-radius: 2px;
}

.teo-table tr.selected td a {
	color: #fff;
	outline-color: #fff;
}

.teo-table tr:hover td a {
	text-decoration: underline;
	text-decoration-color: #76b2ed;
	text-underline-offset: 2px;
	text-decoration-thickness: 2px;
}

.teo-table tr.selected:hover td a {
	text-decoration-color: #76b2ed;
}

.teo-table tr:nth-child(even) {
	background-color: #ffffff;
}

.teo-table tr:nth-child(odd) {
	background-color: #f9f9f9;
}

.teo-table tr:nth-child(even):hover {
	background-color: #ededed;
}

.teo-table tr:nth-child(odd):hover {
	background-color: #eaeaea;
}

.teo-table tr.selected:nth-child(even) {
	background-color: #0065e1 !important;
}

.teo-table tr.selected:nth-child(odd) {
	background-color: #005fdb !important;
}

.teo-table tr.selected:nth-child(even):hover {
	background-color: #0053cf !important;
}

.teo-table tr.selected:nth-child(odd):hover {
	background-color: #0050cc !important;
}

body.blur .teo-table tr.selected:nth-child(even) {
	background-color: #73a2db !important;
}

body.blur .teo-table tr.selected:nth-child(odd) {
	background-color: #6f9bd4 !important;
}

body.blur .teo-table tr.selected:nth-child(even):hover {
	background-color: #0053cf !important;
}

body.blur .teo-table tr.selected:nth-child(odd):hover {
	background-color: #0050cc !important;
}

.teo-table td {
	border-right: 1px solid #dedede;
	padding: 0px 2px 0px 8px;
	white-space: nowrap;
	text-overflow: ellipsis;
	overflow: hidden;
	height: 35px;
}

.teo-table tr.selected td {
	color: #fff;
	border-color: #2775e4;
}

body.blur .teo-table tr.selected td {
	border-color: #8ba8d2;
}

.teo-table .action {
	background-color: #2775e4;
	color: white;
	border-radius: 15px;
	padding: 2px 8px;
	font-size: 0.75em;
	font-weight: 600;
	border: 2px solid #ffffff;
	box-shadow: 0 1px 2px #00000055;
	display: inline-block;
	text-decoration: none !important;
	user-select: none;
	-webkit-user-select: none;
}

body.blur .teo-table {
	filter: saturate(0);
}

.teo-table tr.empty {
	height: 120px;
	text-align: center;
}

.teo-table tr.empty:hover {
	background-color: #ffffff;
}

.teo-table tr.empty span {
	border: 3px dashed #e3e3e3;
	border-radius: 16px;
	padding: 16px 32px;
	color: #d4d4d4;
	font-weight: 800;
}

.teo-table input[type="checkbox"] {
	appearance: none;
	display: block;
	accent-color: #077bed;
	background: #fff;
	border-radius: 4px;
	border: 1px solid #00000059;
	box-shadow: 0 1px 2px #00000070 inset;
	background-size: 75%;
	background-repeat: no-repeat;
	background-position: 50%;
	margin: 0;
	width: 18px;
	height: 18px;
}

.teo-table input[type="checkbox"]:checked {
	border-color: #0059bd;
	background-color: #077bed;
	background-image: url('data:image/svg+xml;utf8,<svg width="21px" height="21px" viewBox="0 0 21 21" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"><g id="Page-1" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"><polyline id="tick2" stroke="%23fff" stroke-width="4.5" points="18.4881691 3 8.61116617 18.3460747 3 11.517568"></polyline></g></svg>');
}

.teo-table input[type="checkbox"]:checked:active {
	background: #077bed;
}

.teo-table input[type="checkbox"]:active {
	background: #f1f1f1;
}

.teo-table tr.selected input[type="checkbox"] {
	border-color: #ffffff;
}

.teo-table tr.selected input[type="checkbox"]:checked {
	border-color: #138aff;
}

.teo-table tr.selected input[type="checkbox"]:focus-visible {
	outline: 3px solid #fff;
}

body.blur .teo-table tr.selected input[type="checkbox"]:checked {
	border-color: #1b69b6;
}

.teo-table tr.group {
	position: sticky;
	top: 25px;
}

.teo-table tr.group th {
	background: linear-gradient(to bottom, #ffffff, #f3f3f3 27%, #e9e9e9 58%, #dedede 89%);
	border-radius: 0;
	padding: 12px 8px;
	border: 1px solid #cfcfcf;
	border-bottom-color: #a7a7a7;
	border-top-color: #dadada;
	cursor: auto;
}
