
@media (max-width: 1200px) {
	.xl-show {
		display:none!important;
	}
}

@keyframes pblink {
    0% {
        opacity: 1;
    }
    50% {
        opacity: 0.5;
    }
    100% {
        opacity: 1;
    }
}

/*
.sm-noscroll {
	overflow-y:hidden !important;
	padding-bottom:1rem;
}
.md-noscroll {
	overflow-y:hidden !important;
	padding-bottom:1rem;
}
.lg-noscroll {
	overflow-y:hidden !important;
	padding-bottom:1rem;
}
.xl-noscroll {
	overflow-y:hidden !important;
	padding-bottom:1rem;
}
*/
/*
.fix-scroll {
	overflow-x:hidden !important;
	overflow-y:hidden !important;
}
*/

@media (min-width: 768px) {
    .h-md-100 {
        height: 100% !important;
    }
	.sm-noscroll {
		overflow-y:auto !important;
		padding-bottom:0;
	}
}
@media (min-width: 992px) {
	.h-lg-100 {
		height: 100% !important;
	}
	.md-noscroll {
		overflow-y:auto !important;
		padding-bottom:0;
	}
}
@media (min-width: 1200px) {
	.h-xl-100 {
		height: 100% !important;
	}
	.lg-noscroll {
		overflow-y:auto !important;
		padding-bottom:0;
	}
}


.break-word
{
	word-wrap:break-word;
}

.ico {
	vertical-align:bottom;
}


.popover {
	max-width: 800px;
	overflow:hidden;
	border: 3px solid #072b97;
}
.popover .popover-header {
	background-color:#0099cc;
	color: white;
	border-bottom: 3px solid #072b97!important;
}
.popover .popover-header .modal-close {
	margin:0.1rem;
	background-color:#0099cc;
	border:0;
}
.popover .popover-body {
	min-width: 500px;
}

.page-title {
	text-align: center;
	background-color: #0099cc;
	color:white;
	font-weight: bold;
	font-size: 120%;
	padding-top: 0.3rem;
	padding-bottom: 0.3rem;

	border-bottom: 1px solid #002594;
	border-top: 1px solid #002594;
}

/* Pannello bottoni */
/*
@media (max-width: 1200px) {
	.panelbtn, .panelbtn:hover {
		width: 150px;
		height: 150px;
		font-size:16px;
		padding-bottom: 15px;
	}
	.panelbtn:active:hover {
		background-position: top 3px left 3px;
		background-size: 144px 144px;
		font-size:15px;
		padding-bottom: 13px;
	}
}
@media (min-width: 1200px) {
	.buttons-container {
		max-width: 570px;
	}

	.panelbtn, .panelbtn:hover {
		width: 100px!important;
		height: 100px!important;
		font-size:12px!important;
		padding-bottom: 10px!important;
		background-size: 100px 100px!important;
	}
	.panelbtn:active:hover {
		background-position: top 3px left 3px!important;
		background-size: 94px 94px!important;
		font-size:11px!important;
		padding-bottom: 7px!important;
	}
}

@media (min-width: 1200px) {
	.buttons-container {
		max-width: 520px;
		min-width: 390px;
	}
}
@media (max-width: 1200px) {
	.buttons-container {
		min-width: 390px;
	}
}


*/



.buttons-container {
	margin:auto;
	background-color:#09c;
}

.buttons-container .spacer {
	width:30px;
	opacity:0;
}

.buttons-container.small .spacer {
	width:20px;
	opacity:0;
}

.buttons-container .panelbtn, .buttons-container .panelbtn:hover {
    background: linear-gradient(45deg, rgba(255, 255, 255, 0) 20%, rgba(255, 255, 255, 0.5) 50%, rgba(255, 255, 255, 0) 80%);
	background-image: url('/public/components/buttons/btn.png');
	background-repeat: no-repeat;
	width: 150px;
	height: 150px;
	border:0;
	padding:0;
	margin:0;
	font-size:16px;
	text-transform: uppercase;
	padding-bottom: 15px;
	z-index:10;
}
.buttons-container .panelbtn:active:hover {
	background-position: top 3px left 3px;
	background-size: 144px 144px;
	font-size:15px;
	padding-bottom: 13px;
}

.buttons-container.small .panelbtn, .buttons-container.small .panelbtn:hover {
	width: 100px!important;
	height: 100px!important;
	font-size:12px!important;
	padding-bottom: 10px!important;
	background-size: 100px 100px!important;
}
.buttons-container.small .panelbtn:active:hover {
	background-position: top 3px left 3px!important;
	background-size: 94px 94px!important;
	font-size:11px!important;
	padding-bottom: 7px!important;
}

.panelbtn.active, .panelbtn.active.disabled {
	background-image: url('/public/components/buttons/btna.png') !important;
}
.panelbtn.activating, .panelbtn.activating.disabled {
	background-image: url('/public/components/buttons/btna.png') !important;
    animation: pblink 1s;
    animation-iteration-count: infinite;
}
.panelbtn.disabled {
	opacity:0.7;
	background-image: url('/public/components/buttons/btn.png') !important;
}


.panelbtn.blue, .panelbtn.blue:hover {
	background-image: url('/public/components/buttons/btnb.png');
}
.panelbtn.red, .panelbtn.red:hover {
	background-image: url('/public/components/buttons/btnr.png');
}
.panelbtn.green, .panelbtn.green:hover {
	background-image: url('/public/components/buttons/btng.png');
}
.panelbtn.color, .panelbtn.color:hover {
	background-image: url('/public/components/buttons/btnc.png');
}

/* Accordion */

.data-accordion
{
	border: solid 0.08em #c5c5c5;
	font-weight:bold;
	color:#77808d;
	cursor:pointer;
	margin:1em;
	padding:0.5em;
	margin-bottom:0!important;
}

.data-accordion .icon-collapse {
	display: inline-block;
	transform: rotate(90deg);
}
.data-accordion.accordion-close .icon-collapse {
	transform: rotate(0deg)!important;
}

.data-accordion.accordion-open {
	border-bottom-width: 0.08em!important;
}

.accordion-content
{
	border: solid 0.08em #c6d3df;
	border-top-width: 0!important;
	padding:0.5em;
	margin:1em;
	margin-top:0!important;
	display: none;
}

/* Custom tree */
.tree-node-selected a
{
	/*text-decoration:underline;*/
	/*font-weight:bold;*/
	background-color:#0099cc;
	color:white!important;
}

.small .tree {
	font-size:0.7rem;
}

.small .tree .tree-toggler::before {
	height: 1rem;
	width: 1rem;
}

/* State machine status*/
.flow-container {
	position:relative;
	margin: 5px;
}
.flow-item {
	position:absolute;
	border: solid 3px #cecece;
	width: 150px;
	height: 35px;
	vertical-align:middle;
	text-align:center;
	padding-top:6px;
	/*padding-bottom:2px;*/
}
.flow-item-round {
	border-radius: 20px;
}

.connector {
	width: 50px;
	height: 50px;
	position: absolute;
	background-size: 50px;
	opacity:0.3;
}
.connector-left {
	width: 50px;
	height: 25px;
	position: absolute;
	background-size: 50px;
	opacity:0.3;
}
.vert-arrow {
	position: absolute;
	background-image:url(../images/arrowup.png);
	background-size: 28px;
	opacity:0.3;
	width: 28px;
}


/* Signals view */

.sigview-alarm {
	background-color:#f8dada;
	color:#520303;
}

.sigview-warning {
	background-color:#f8f5da;
	color:#5c4b05;
}

.table {
	margin:auto;
	width:95%;
}

.table label {
	margin-bottom:unset;
}

.table-order {
	cursor:pointer;
}

.table.table-compact
{
	font-size: 80%;
}
.table.table-compact td, .table.table-compact th
{
	padding-top:2px !important;
	padding-bottom:2px !important;
}
.table.table-mute td, .table.table-mute th
{
	border:0;
}


.modified {
  border-color: #a3a90a;
}

.sigmask-alarm {
}

.sigmask-alarm.sig-on {
	background-color:#f8dada;
}

.sigmask-alarm.sig-rawon {
	background-color:#f3d8f8;
}

.io-view-input {
}

.io-view-output {
}

.io-view-input.io-on {
	background-color:#fff9f0;
}

.io-view-output.io-on {
	background-color:#fff9f0;	
}

/* Ctree */
.ctree-ver-bar {
	position: absolute;
	border-left: 2px solid #000000;
}
.ctree-hor-bar {
	position: absolute;
	border-top: 2px solid #000000;
	height: 0px;
}

.ctree-container {
	position: relative;
	text-align: center;
	user-select:none;
}  

.ctree-object {
	display: none;
	border: 2px solid #585a5e;
	margin: 0 1rem;
	padding: 0 1rem;
	text-align: right;
	overflow-x:hidden;
	white-space:normal;
	word-break:break-word;
	/*vertical-align: middle;*/
	min-width: 7rem;
	max-width: 8rem!important;
	font-size:0.7rem;
	min-height:2.8rem
}
.ctree-object.show {
	display: inline-block;
}
.ctree-object.has-child {
	border: 4px solid #0099cc;
}


.ctree-spacer {
	display: none;
	height: 3rem;
}
.ctree-spacer.show {
	display: block;
}

.ctree-content {
	/*display: block;*/
}
.ctree-data {
	padding:0;
	margin:0;
	padding-top: 0.1rem;
	min-height: 2.1rem;
}
.ctree-action {
	font-size:1.2rem;
	padding:0;
	margin:0;
	padding-top: 0.2rem;
	overflow:hidden;
}

.ctree-action a, .ctree-action a:hover, .ctree-action a:visited {
	color:#0098cb;
}
.popover-enabled span {
	color:#072b97!important;
	border: 1px solid #000;
}

/* user data */

.login-card {
	display:inline-block;
	text-align:center;
}

.login-card h4 {
	display:inline;
	font-size: 90%;
}
.login-card h5 {
	display:inline;
	font-weight:bold;
	font-size: 110%;
}

#footer-app-status {
	
}

.switch-button {
	/*width: 35px;
	height: 36px;*/
	height:1.3rem;
	margin:auto;
	cursor:pointer;
}

.in-alarm-object {
	border: 2px solid #ad0000;
	margin: 0.25rem;
	padding: 0.25rem;
}

.in-alarm-object.selected {
	border: 5px solid #072b97;
}



/* multi column */
.multi-column {
	column-count: 1;
}

@media (min-width: 576px) {
	.multi-column {
		column-count: 2;
	}
}
@media (min-width: 768px) {
	.multi-column {
		column-count: 2;
	}
}
@media (min-width: 992px) {
	.multi-column {
		column-count: 3;
	}
}
@media (min-width: 1200px) {
	.multi-column {
		column-count: 3;
	}
}
@media (min-width: 1368px) {
	.multi-column {
		column-count: 4;
	}
}

.multi-column > div {
	break-inside:avoid-column;
	word-break:break-word;
}

.multi-column-fixed > div {
	break-inside:avoid-column;
	word-break:break-word;
}


.btn-group.small button {
	font-size:0.7rem;
}

.btn-group button.btn-primary.disabled {
	background-color: #072b97;
	opacity: 1;
}

.btn-group button.btn-outline-primary:hover {
	background-color: #0099cc;
}


.plotlyjsicon {
	display:none!important;
}


.dad-station-container {
	background-color: #d9e1e8;
	border: 2px solid #002594;
	padding: 3px;
	margin: 3px;
	min-height: 50px;
}

.dad-title {
	background-color: #002594;
	color:white;
}

.dad-station {
	display:inline-block;
	border: 1px solid #0099cc;
	padding: 3px;
	margin: 3px;
	width: 150px;
	user-select:none;
}

.dad-station-title {
	background-color: #cc9600;
	color:white;
}

.dad-robot-title {
	background-color: #cb2604;
	color:white;
}


.dad-mission {
	display:inline-block;
	padding: 3px;
	color: #118623;
}

.dad-group-mission {
	display:none;
	color: #cfc3c1;
	background-color: #514b4a;
	margin:1px;
	cursor:pointer;
}

.dad-group-mission.available {
	display:inline-block;
	color: #d4ecc0;
	background-color: #cb2604;
}

.dad-group-mission.enabled {
	display:inline-block;
	color: #742717 !important ;
	background-color: #41bd20 !important;
}


.seq-running {
	border: 10px solid #24b507;
}

.seq-stopped {
	border: 10px solid #ffffff;
}

.seq-paused {
	border: 10px solid #cb2604;
}

.seq-blocked {
	border: 10px solid #fa9138;
}

.seq-blocked-paused {
	border: 10px solid #ee396b;
}

.button-bar {
	font-size: 90%;
}
.button-bar .btn {
	font-size: 90%;
	padding: 0.1rem 0.2rem;
}
.button-bar label {
	margin:inherit;
}

.svg_button {
	user-select: none;
	cursor: pointer;
}


.btn-command {
	border: 2px solid #007197;
	border-radius: 16px;
	font-size: 18px;
	text-align: center;
	box-shadow: 2px 2px #d5d9dc;
	background-color: #e9ecef;
	color: #000000;
	padding: 8px;
	margin: 10px 10px;
	cursor: pointer;
}
.btn-command.btn-sm {
	font-size: 13px;
	margin: 3px 3px;
	padding: 5px 3px;
}
.btn-command:hover {
	background-color: #d4e6f8;
	box-shadow: 2px 2px #007197;
}
.btn-command.disabled {
	cursor:not-allowed;
	pointer-events: none;
	background-color: #e1e1e1;
	border-color: #dbdbdb;
	box-shadow: 2px 2px #b5b5b5;
}
.btn-command.available {
	background-color: #0099cc;
	box-shadow: 2px 2px #007197;
	color: #eeeeee;
}
.btn-command.available:hover {
	background-color: #058bb8;
	box-shadow: 2px 2px #007197;
	color: #ffffff;
}

.btn-command.disabled:hover {
	cursor:not-allowed;
}


.ico-btn {
	user-select: none;
	cursor: pointer;
	padding: 3px;
	border: 1px solid #adb5bd;
}

.ico-btn-round {
	border-radius: 10px;
}

.click-pointer {
	user-select: none;
	cursor: pointer;
}

.factory-fields-header td, .factory-fields-header th {
	background-color: #1367839c; /*#0099cc;*/
	color: white;
	padding-top: 4px;
	padding-bottom: 4px;
}

.factory-fields-header .table-order {
	text-decoration:underline;
	font-weight:bold;
}

.factory-fields-header td {
	font-weight:normal;
}

.fix-th thead th {
	position: sticky;
	top: 0px;
	z-index: 100;
}
.fix-th {
	overflow: hidden auto;
}

.fix-div div.head-div {
	position: sticky;
	top: 0px;
	z-index: 100;
	opacity:0.9;
}
.fix-div {
	overflow: hidden auto;
}

.safe-text, .safe-text * {
	text-wrap:nowrap;
	overflow-x:hidden;
	text-overflow:ellipsis;
	max-width: 25rem;
}

.safe-text-150, .safe-text-150 * {
	max-width:150px!important;
	text-wrap:nowrap;
	overflow-x:hidden;
	text-overflow:ellipsis;
}

.safe-text-200, .safe-text-200 * {
	max-width:200px!important;
	text-wrap:nowrap;
	overflow-x:hidden;
	text-overflow:ellipsis;
}

.safe-text-300, .safe-text-300 * {
	max-width:300px!important;
	text-wrap:nowrap;
	overflow-x:hidden;
	text-overflow:ellipsis;
}

.safe-text-10rem, .safe-text-10rem * {
	text-wrap:nowrap;
	overflow-x:hidden;
	text-overflow:ellipsis;
	max-width: 10rem;
}

.tr-selected {
	background-color: #0099cc43;
}

.relation-anim {
  animation: relationAnim 0.7s linear infinite;
}

@keyframes relationAnim {
  0% { background-color: yellow; }
  50% { background-color: transparent; }
  100% { background-color: yellow; }
}

.wait-overlay, .progress-overlay {
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 1040;
  background-color: #222;
}

.wait-overlay.fade, .progress-overlay.fade  {
  opacity: 0;
}
.wait-overlay.show, .progress-overlay.show {
  opacity: 0.5;
}

.ploty-empty {
	display: flex;
	align-items: center;
	justify-content: center;
}

.ploty-empty::before {
	content: "...";
	color: #888;
	font-size: 200%;
	font-style: italic;
}


/* JS Table */

.cdt-container {
	overflow: hidden;
	padding: 0.75rem;
	box-sizing: border-box;
}
.cdt-container .cdt-root {
	display: flex;
	flex-direction: column;
	width: 100%;
	height: 100%;
	min-height: 0;
	border: 1px solid #ccc;
	border-radius: 0.35rem;
	background: #fff;
	box-sizing: border-box;
}

.cdt-container .cdt-table-wrapper {
	position: relative;
	flex: 1 1 auto;
	min-height: 0;
	overflow: auto;
	isolation: isolate;
}

.cdt-container .cdt-table {
	width: max-content;
	min-width: 100%;
	border-collapse: separate;
	border-spacing: 0;
	table-layout: auto;
}

.cdt-container .cdt-table th,
.cdt-container .cdt-table td {
	padding: 0.5rem 0.7rem;
	border-bottom: 1px solid #ddd;
	text-align: left;
	white-space: nowrap;
}

.cdt-container.cdt-column-hide-enabled .cdt-table td:not(.cdt-row-menu-cell) {
	padding-left: 1.55rem;
}

.cdt-container .cdt-table thead th {
	position: sticky;
	top: 0;
	z-index: 20;
	background: #f4f4f4;
}

.cdt-container .cdt-table th {
	background: #f4f4f4;
	font-weight: 600;
}

.cdt-container .cdt-header-button {
	display: flex;
	align-items: center;
	gap: 0.4rem;
	width: 100%;
	padding: 0;
	border: 0;
	background: transparent;
	color: inherit;
	font: inherit;
	font-weight: inherit;
	text-align: left;
	cursor: pointer;
	flex: 1 1 auto;
}

.cdt-container .cdt-sort-indicator {
	display: inline-block;
	min-width: 0.7rem;
	font-size: 0.65rem;
}

.cdt-container .cdt-table tbody tr:hover {
	background: #f8f8f8;
}

.cdt-container .cdt-footer {
	flex: 0 0 auto;
	display: grid;
	grid-template-columns: 1fr auto 1fr;
	align-items: center;
	gap: 1rem;
	padding: 0.45rem 0.7rem;
	border-top: 1px solid #ccc;
	background: #f4f4f4;
	box-sizing: border-box;
}

.cdt-container .cdt-footer-left {
	display: flex;
	align-items: center;
	gap: 0.4rem;
	white-space: nowrap;
}

.cdt-container .cdt-footer-center {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 0.4rem;
}

.cdt-container .cdt-footer-right {
	text-align: right;
	white-space: nowrap;
}

.cdt-container .cdt-page-info {
	min-width: 4rem;
	text-align: center;
	white-space: nowrap;
}

.cdt-container .cdt-footer button,
.cdt-container .cdt-footer select {
	font: inherit;
}

.cdt-container .cdt-footer button {
	min-width: 2rem;
	padding: 0.25rem 0.5rem;
	border: 1px solid #ccc;
	border-radius: 0.3rem;
	background: #fff;
	color: inherit;
	cursor: pointer;
}

.cdt-container .cdt-footer button:hover:not(:disabled) {
	background: #f8f8f8;
	border-color: #aaa;
}

.cdt-container .cdt-footer button:disabled {
	cursor: default;
	opacity: 0.4;
}

.cdt-container .cdt-footer select {
	padding: 0.2rem 0.35rem;
	border: 1px solid #ccc;
	border-radius: 0.3rem;
	background: #fff;
	color: inherit;
}

.cdt-container .cdt-table.cdt-compact {
	font-size: 0.9em;
}

.cdt-container .cdt-table.cdt-compact th,
.cdt-container .cdt-table.cdt-compact td {
	padding-left: 0.5rem;
	padding-right: 0.5rem;
}
.cdt-container.cdt-column-hide-enabled .cdt-table.cdt-compact td:not(.cdt-row-menu-cell) {
	padding-left: 1.35rem;
}

.cdt-container .cdt-table.cdt-compact-more {
	font-size: 0.8em;
}

.cdt-container .cdt-table.cdt-compact-more th,
.cdt-container .cdt-table.cdt-compact-more td {
	padding-left: 0.35rem;
	padding-right: 0.35rem;
}

.cdt-container.cdt-column-hide-enabled .cdt-table.cdt-compact-more td:not(.cdt-row-menu-cell) {
	padding-left: 1.2rem;
}

.cdt-container .cdt-menu-column,
.cdt-container .cdt-row-menu-cell {
	width: 2.5rem;
	min-width: 2.5rem;
	max-width: 2.5rem;

	padding-left: 0;
	padding-right: 0;

	white-space: nowrap;
	text-align: center;
	box-sizing: border-box;
}

.cdt-container .cdt-table thead th.cdt-menu-column {
	position: sticky;
	left: 0;
	top: 0;
	z-index: 30;
	background: #f4f4f4;
	box-shadow: 1px 0 0 #ddd;
}

.cdt-container .cdt-row-menu-cell {
	position: sticky;
	left: 0;
	z-index: 10;
	background: #fff;
	box-shadow: 1px 0 0 #ddd;
}

.cdt-container .cdt-table tbody tr:hover .cdt-row-menu-cell {
	background: #f8f8f8;
}

.cdt-container .cdt-row-menu-button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 0.25rem 0.4rem;
	border: 0;
	background: transparent;
	color: inherit;
	cursor: pointer;
}

.cdt-container .cdt-row-menu-button .material-symbols-outlined {
	display: block;
	font-size: 1.3em;
}

.cdt-row-menu {
	position: fixed;
	z-index: 10000;
	min-width: 10rem;
	padding: 0.3rem 0;
	border: 1px solid #ccc;
	border-radius: 0.35rem;
	background: #fff;
	box-shadow: 0 0.3rem 0.8rem rgba(0, 0, 0, 0.18);
}

.cdt-row-menu a {
	display: flex;
	align-items: center;
	gap: 0.6rem;
	padding: 0.45rem 0.8rem;
	color: inherit;
	text-decoration: none;
	white-space: nowrap;
}

.cdt-row-menu a .material-symbols-outlined {
	flex: 0 0 auto;
	font-size: 1.2em;
}

.cdt-row-menu a:hover {
	background: #f2f2f2;
}

.table-menu-separator {
	height: 1px;
	margin: 0.35rem 0;
	background: #ddd;
}

.cdt-container .no-table-sort .cdt-header-button {
	cursor: default;
}

.cdt-columns-menu {
	position: fixed;
	z-index: 10000;
	min-width: 10rem;
	padding: 0.3rem 0;
	border: 1px solid #ccc;
	border-radius: 0.35rem;
	background: #fff;
	box-shadow: 0 0.3rem 0.8rem rgba(0, 0, 0, 0.18);
}

.cdt-columns-menu-item {
	display: flex;
	align-items: center;
	gap: 0.6rem;
	width: 100%;
	padding: 0.45rem 0.8rem;
	border: 0;
	background: transparent;
	color: inherit;
	font: inherit;
	text-align: left;
	white-space: nowrap;
	cursor: pointer;
}

.cdt-columns-menu-item:hover {
	background: #f2f2f2;
}

.cdt-columns-menu-item .material-symbols-outlined {
	font-size: 1.2em;
}

.cdt-container .cdt-hide-column-button {
	flex: 0 0 auto;
	display: inline-flex;
	align-items: center;
	justify-content: center;

	width: 1rem;
	padding: 0;

	border: 0;
	border-radius: 0.25rem;
	background: transparent;
	color: inherit;

	cursor: pointer;
	opacity: 0.35;
}

.cdt-container .cdt-hide-column-button .material-symbols-outlined {
	font-size: 0.9rem;
}

.cdt-container th:hover .cdt-hide-column-button {
	opacity: 0.75;
}

.cdt-container .cdt-hide-column-button:hover {
	background: rgba(0, 0, 0, 0.06);
	opacity: 1;
}

.cdt-container .cdt-hidden-columns-button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 0.1rem;
	border: 0;
	border-radius: 0.25rem;
	background: transparent;
	color: inherit;
	cursor: pointer;
	opacity: 0.45;
}

.cdt-container .cdt-hidden-columns-button:hover {
	background: rgba(0, 0, 0, 0.06);
	opacity: 1;
}

.cdt-container .cdt-hidden-columns-button .material-symbols-outlined {
	font-size: 1.1rem;
}

.cdt-container .cdt-header-content {
	display: flex;
	align-items: center;
	gap: 0.15rem;
	width: 100%;
}

.cdt-container .cdt-hide-column-button:disabled {
	cursor: default;
	opacity: 0.1;
}

.cdt-row-menu a.cdt-row-menu-disabled {
	opacity: 0.4;
	cursor: default;
	pointer-events: none;
}

.cdt-row-menu a.cdt-row-menu-disabled:hover {
	background: transparent;
}

.cdt-container .cdt-tools {
	flex: 0 0 auto;
	display: flex;
	align-items: center;
	gap: 0.5rem;
	padding: 0.4rem 0.7rem;
	border-bottom: 1px solid #ccc;
	background: #f4f4f4;
	box-sizing: border-box;
}

.cdt-container .cdt-tools:not(.cdt-tools-multiple) {
	justify-content: flex-start;
}

.cdt-container .cdt-tools.cdt-tools-multiple {
	justify-content: space-between;
}

.cdt-container .cdt-tool {
	display: flex;
	align-items: center;
}

.cdt-container .cdt-tool button,
.cdt-container .cdt-tool select {
	font: inherit;
}

.cdt-container .cdt-tool button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 0.35rem;
	padding: 0.25rem 0.5rem;
	border: 1px solid #ccc;
	border-radius: 0.3rem;
	background: #fff;
	color: inherit;
	cursor: pointer;
	white-space: nowrap;
}

.cdt-container .cdt-tool button:hover {
	background: #f8f8f8;
	border-color: #aaa;
}

.cdt-container .cdt-tool button.cdt-tool-on {
	background: #e8f0fe;
	border-color: #9bb7e0;
}

.cdt-container .cdt-tool button.cdt-tool-off {
	opacity: 0.65;
}

.cdt-container .cdt-tool button .material-symbols-outlined {
	font-size: 1.1rem;
}

.cdt-container .cdt-tool select {
	padding: 0.2rem 0.35rem;
	border: 1px solid #ccc;
	border-radius: 0.3rem;
	background: #fff;
	color: inherit;
}

.cdt-container .cdt-tool-label {
	margin-right: 0.35rem;
	white-space: nowrap;
}

.cdt-container .cdt-empty-overlay {
	position: absolute;
	inset: 0;

	display: none;
	align-items: center;
	justify-content: center;

	padding: 2rem;

	text-align: center;
	font-size: 1.5em;
	font-weight: 300;
	opacity: 0.4;

	pointer-events: none;
	z-index: 1;
}

.cdt-container .cdt-table tbody tr.cdt-selectable-row {
	cursor: pointer;
}

.cdt-container .cdt-table tbody tr.cdt-selected-row {
	background: #e8f0fe;
}

.cdt-container .cdt-table tbody tr.cdt-selected-row:hover {
	background: #dce8f8;
}

