#datasetsTable {
	width: 100% !important;
	max-width: 100%;
}

#DatasetsTableParentDiv {
	margin-top: 20px;
	position: relative;
	display: flex;
	flex-direction: column;
	min-height: 0;
	height: 100%;
}

#DatasetsTableDiv {
	flex: 1 1 auto;
	min-height: 0;
	display: flex;
	flex-direction: column;
	overflow-y: hidden;
}

#DatasetsTableDiv > .dt-container {
	flex: 1 1 auto;
	min-height: 0;
	display: flex;
	flex-direction: column;
	width: 100%;
	max-width: 100%;
	box-sizing: border-box;
}

/* prevents bootstrap row negative margins from causing horizontal overflow in datatables */
#DatasetsTableDiv .dt-container > .row {
	margin-left: 0;
	margin-right: 0;
}

div.dt-container .dt-search input {
	box-sizing: border-box;
	max-width: 100%;
}

#DatasetsTableDiv .dt-table {
	flex: 1 1 auto;
	min-height: 0;
}

#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;
}

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

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

.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 */
}

#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;
}

@media (min-width: 992px) {
    .border-left-lg-up {
        border-left: 1px solid dimgray !important;
    }
}

/* remove forced height when columns stack */
@media (max-width: 991.98px) {
	#tab1 .row {
		height: auto !important;
		min-height: unset !important;
	}
}

/* force Edit Columns button to be right-rounded */
#EditColumnsButton,
#EditColumnsButton:hover,
#EditColumnsButton:focus,
#EditColumnsButton:active,
#EditColumnsButton.active{
	border-top-right-radius: 999px !important;
	border-bottom-right-radius: 999px !important;
	border-top-left-radius: 999px !important;
	border-bottom-left-radius: 999px !important;
}

#EditColumnsButton,
#RequestLookupButton{
	width: 170px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
}

/* make DataTables' automatic btn-group look like separate buttons */
.dt-buttons.btn-group{
	display: inline-flex;
}

.dt-buttons.btn-group > .btn,
.dt-buttons.btn-group > .dt-button{
	border-radius: 999px !important;
}

.dt-buttons.btn-group > .btn + .btn,
.dt-buttons.btn-group > .dt-button + .dt-button{
	margin-left: .5rem !important;
}

/* Bootstrap btn-group uses -1px to collapse borders; undo it */
.dt-buttons.btn-group > .btn + .btn,
.dt-buttons.btn-group > .dt-button + .dt-button{
	margin-left: .5rem !important;
}
