#InputsParentDiv {
    margin-top: 20px;
	max-height: calc(98vh - 20px);
	overflow-y: auto;
	direction: rtl;
}

#InputsDiv {
	direction: ltr; /* restore normal content flow */
}

#DatasetsTableParentDiv {
    margin-top: 20px;
    max-height: calc(98vh - 20px);
    position: relative;
    display: flex;
	flex-direction: column;
	min-height: 0;
}

#QueryDiv {
    font-weight: normal;
    text-align: left;
    font-size: 17px;
    max-height: 170px;
    display: none;
}

#DatasetsTableDiv {
	flex: 1 1 auto;
	min-height: 0;
	max-height: 100%;
	overflow: visible !important;
	position: relative;
	display: flex;
	flex-direction: column;
}

#datasetsTable_wrapper {
	flex: 1 1 auto;
	min-height: 0;
	display: flex;
	flex-direction: column;
}

#datasetsTable {
	width: 100%;
	height: auto;
    flex: 1 1 auto;
	min-height: 0;
}

#datasetsTable thead th {
	white-space: nowrap;
}

#RequestButton,
#ClearSelectedRowsButton,
#TableButtonWrapper {
	flex: 0 0 auto;
	height: auto;
}

#TableButtonWrapper {
	position: relative;
}

#TableButtonWrapper button:disabled {
	pointer-events: none;
}

div.dropdown-menu.dt-button-collection {
	right: 0 !important;
	left: auto !important;
	transform: none !important;
	position: absolute !important;
	width: fit-content !important;
	min-width: 200px;
	max-width: 50vw;
    max-height: 60vh;
	overflow-y: auto;
	overflow-x: hidden;
}

#querySpan {
    font-size: 13px;
    font-weight: normal;
    font-style: normal;
}

.queryContent {
    max-width: 100%;
    flex-wrap: wrap;
    text-align: left;
    font-size: 14px;
    max-height: 120px;
    overflow-y: auto;
}

.queryBadge {
    display: flex;
    flex-wrap: wrap;
    display: inline-flex;
    line-height: 1.4;
}

div.dt-button-collection {
    right: 0 !important;
    left: auto !important;
}

.bootstrap-select .dropdown-menu {
	left: 0 !important;
	right: auto !important;
}

.custom-select-xs {
    height: calc(1.0em + 0.5rem + 2px);
    padding: 0.2rem 0.4rem;
    font-size: 0.7rem;
    line-height: 1.0;
}

.custom-select.fit-width {
    width: auto !important;
    min-width: unset;
    padding-right: 2rem;
    flex: 0 0 auto; /* Don't grow or shrink */
}

/* Base style */
.bootstrap-select .dropdown-toggle {
    border: 1px solid #ccc; /* light gray, thin border */
    border-radius: 4px;     /* optional: for rounded corners */
    box-shadow: none;       /* optional: remove any Bootstrap shadows */
    background-color: white; /* optional for consistency */
}

/* Hover state */
.bootstrap-select .dropdown-toggle:hover {
    border-color: #bbb;
}

/* Focus state (when clicked or tabbed into) */
.bootstrap-select .dropdown-toggle:focus,
.bootstrap-select.show .dropdown-toggle {
    border-color: #999;
    outline: none;
    box-shadow: 0 0 0 0.1rem rgba(0, 123, 255, 0.25); /* subtle focus ring */
}

/* plotly chart container */
.card .chart-container {
    width: 100%;
    height: 100%;  /* or fixed like 250px */
}

#spinner-wrapper-datasets-table {
	display: none;
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	z-index: 9999;
	background-color: rgba(255, 255, 255, 0.8);
	padding: 20px;
	border-radius: 8px;
	text-align: center;
	flex-direction: column;
	align-items: center;
	justify-content: center;
}

#spinner-wrapper-datasets-table.show-spinner {
	display: flex;
}

.spinner-datasets {
	margin-bottom: 16px;
}

.spinner-text {
	font-size: 16px;
	white-space: nowrap;
}

.toast-error {
	max-width: 200px;
	word-wrap: break-word;
	white-space: normal;
}