table.dataTable>thead {
    vertical-align: bottom;
}

.cell-line-wrapper {
    display: flex;
    flex-direction: column;
    align-items: center;
    width: 100%;
    /* Ensure the wrapper takes full width of the cell */

}

.cell-line {
    display: flex;
    width: 90%;
    /* Ensure full width */
    align-items: baseline;
    /* Align items vertically */
}


.cell-content {
    width: 100%;
    overflow: hidden;
    text-overflow: ellipsis;
}

.cell-clickable {
    display: block;
    width: 100%;
    min-height: 100%;
}

.cell-line-color {
    flex-shrink: 0;
    /* Prevent color box from shrinking */
    margin-top: 2px;
    margin-right: 4px;
    height: 16px;
    width: 16px;
    box-shadow: 2px 2px 4px var(--overlay-dark);
}

.cell-svg {
    text-align: center;
    padding: 5px;
}

.cell-str {
    text-align: center;
}

/* //MoleculeGrid */

.MoleculeGrid .cell-svg {
    text-align: center;
    height: 249px;
    width: 100%;
    /* width: 305px; */
    overflow-y: hidden;
    padding: 5px;
    display: grid;
    align-items: center;
    justify-content: center;


}

.MoleculeGrid .cell-svg:hover {
    overflow-y: auto;
}

.MoleculeGrid .cell-bottom-wrapper {
    height: 265px;
    overflow-y: hidden;
    border-top: 0.5px solid lightgrey;
    padding: 20px 0px;
}

.MoleculeGrid .cell-bottom-wrapper:hover {
    overflow-y: auto;
}

/* // */








.dt-resize-wrapper {
    width: calc(100% - 35px);
    height: calc(100% - 100px);
    position: absolute;
}

.dt-resize-wrapper .row {
    margin-bottom: 30px;

}

/* alternative wrapper that gives more room for a top area content e.g. scaffold panel*/
.dt-resize-wrapper2 {
    width: calc(100% - 15px);
    height: calc(100% - 250px);
    margin-left: 5px;
    position: absolute;
}

.dt-resize-wrapper2 .row {
    margin-bottom: 30px;

}

.dataTables_wrapper {
    position: relative;
    clear: both;
    display: flex;
    flex-direction: column-reverse;
    height: 100%;
}

.dataTables_wrapper > .pagination-container {
    flex: 0 0 auto;
}

.dataTables_wrapper > .table-container {
    flex: 1 1 0;
    min-height: 0;
    display: flex;
    flex-direction: column;
}

.dataTables_wrapper > .table-container > .dataTables_scroll {
    flex: 1 1 0;
    min-height: 0;
    display: flex;
    flex-direction: column;
}

.dataTables_wrapper > .table-container > .dataTables_scroll > .dataTables_scrollBody {
    flex: 1 1 0;
    min-height: 0;
    height: auto !important;
    max-height: none !important;
}



.tab {
    float: left;
    background-color: var(--background-grey);
    width: 30%;
}

/* Style the buttons inside the tab */
.tab button {
    display: block;
    background-color: inherit;
    color: black;
    padding: 22px 10%;
    width: 100%;
    border: none;
    outline: none;
    text-align: left;
    cursor: pointer;
    font-size: 17px;
}

/* Change background color of buttons on hover */
.tab button:hover {
    background-color: var(--background-grey-light);
    font-weight: bold;
}

.ui-tabs .ui-widget-header {
    color: var(--dark-red);
    background: var(--background-grey);
    border: none;
}

.ui-tabs .ui-tabs-nav {
    max-height: 69px; /* Increased to allow for two lines of tabs */
    overflow-y: hidden;
    overflow-x: hidden; /* Prevent horizontal scroll */
    padding-right: 100px;
    min-height: 37px;
    /* Allow tabs to wrap to second line */
    flex-wrap: wrap;
    display: flex;
    align-items: flex-start; /* Align items to top */
    /* Always reserve space for scrollbar to prevent layout shifts */
    scrollbar-gutter: stable;
}

/* Ensure individual tabs behave correctly in flexbox layout */
.ui-tabs .ui-tabs-nav li {
    flex-shrink: 0; /* Prevent tabs from shrinking */
    margin-bottom: 2px; /* Small gap between lines */
}

.ui-tabs .ui-state-active a {
    color: var(--dark-red);
}

.ui-tabs .ui-state-active a:hover {
    color: var(--dark-red) !important;
}

#dropdown-tabs-button {
    position: absolute;
    right: 20px;
}

#dropdown-tabs-button span {
    font-size: 30px !important;
    cursor: pointer;
    vertical-align: middle;
    cursor: pointer;
    /* Align icons vertically */
}

/* Style for the new delete icon */
#dropdown-tabs-button-container .delete-app-icon {
    color: var(--danger);
    /* Use a distinct color like dark red */
    transition: color 0.2s;
}

#dropdown-tabs-button-container .delete-app-icon:hover {
    color: var(--danger-hover);
    /* Brighter red on hover */
}

/* "More" button for hidden tabs */
.tab-more-button {
    position: absolute;
    right: 14px;
    top: 7px;
    z-index: 1;
    cursor: pointer;
    display: flex;
    align-items: center;
    gap: 4px;
    padding: 6px 10px;
    background: var(--background-grey, #e9ecef);
    color: var(--main);
    border: 1px solid var(--border-gray-light-blue, #ccc);
    border-radius: 4px;
    font-size: 12px;
    font-weight: 700;
    transition: background 0.2s, box-shadow 0.2s;
    user-select: none;
    border-bottom: 0px;
}

.tab-more-button:hover {
    background: var(--grey-light-white, #ddd);
    box-shadow: 0 2px 6px rgba(0, 0, 0, 0.15);
}

.tab-more-button.open {
    background: var(--grey-light-white, #ddd);
}

.tab-more-button .tab-more-label {
    font-size: 12px;
    letter-spacing: 0.3px;
    color: var(--main);
}

.tab-more-button .tab-more-count {
    background: var(--dark-red);
    color: var(--background-white);
    padding: 1px 6px;
    border-radius: 10px;
    font-size: 11px;
    font-weight: 600;
    min-width: 16px;
    text-align: center;
    border: 1px solid transparent;
    transition: border-color 0.2s;
}

.tab-more-button.open .tab-more-count {
    border-color: var(--dark-red);
}

.tab-more-button .toggle-icon {
    font-size: 18px;
    transition: transform 0.2s;
}

.tab-more-button.open .toggle-icon {
    transform: rotate(180deg);
}

.apptab-dropdown-menu {
    right: 5px;
    display: grid;
    background: var(--grey-light-white);
    position: absolute;
    z-index: 2147483647;
    top: 35px;
    border-radius: 4px;
    border: 1px solid var(--dark-red);
    max-height: 95%;
    overflow-y: auto;
    scrollbar-width: thin;
    /* Firefox */
    scrollbar-color: whitesmoke var(--dark-red);
    /* Firefox */
    padding-top: 10px;
    padding-bottom: 10px;
}

.apptab-dropdown-menu li {
    cursor: pointer;
    padding: 2px !important;
    border-radius: 4px;
    margin-right: 20px !important;
    /* color: #004276; */
    color: var(--dark-accent-main);
}

.apptab-dropdown-menu li:hover {
    background: var(--main);
    color: var(--background-white);
}

.ui-tabs .ui-tabs-nav:hover {
    /* Only show scroll if content actually exceeds the container */
    overflow-y: auto;
    scrollbar-width: thin;
    /* Firefox */
    scrollbar-color: whitesmoke var(--dark-red);
    /* Reserve space for scrollbar to prevent layout shift */
    scrollbar-gutter: stable;
}

/* Hide scrollbar when content fits within two lines */
.ui-tabs .ui-tabs-nav:not(.needs-scroll) {
    overflow-y: hidden !important;
}

.ui-tabs .ui-tabs-nav:not(.needs-scroll):hover {
    overflow-y: hidden !important;
}

/* Specific fix for SavedCharts container to prevent layout shift on hover */
.SavedCharts .ui-tabs .ui-tabs-nav {
    /* Always reserve space for potential scrollbar */
    padding-right: 95px; /* Increased padding to account for scrollbar space */
    box-sizing: border-box;
}

.SavedCharts .ui-tabs .ui-tabs-nav:hover {
    /* Reduce padding when scrollbar appears to maintain consistent layout */
    padding-right: 80px;
    transition: padding-right 0.1s ease;
}

.ui-tabs .ui-tabs-nav .ui-tabs-anchor {
    padding: 3px 7px;
}

.ui-tabs .ui-tabs-nav .ui-tabs-anchor:hover {
    color: var(--main);
}

.ui-tabs-nav .ui-tabs-tab button {
    height: 28px;
    background: none;
    color: var(--dark-accent-main);

}

.ui-tabs-nav .ui-tabs-tab button:hover {
    color: var(--background-white);
    background: var(--main);
    border-radius: 5px 5px 0px 0px;
}

.ui-tabs #toggle-tabs-button span {
    cursor: pointer;
    transition: transform 0.3s;
    transform: rotate(0deg);
    background: var(--background-grey);
    border-radius: 50%;
    padding: 4px;
    color: var(--dark-accent-main);
    margin: 0px 10px;
    font-size: 20px;
}


/* //Pagination */

.pagination-container {
    width: calc(100% - 20px);
    display: flex;
    justify-content: space-between;
    margin-top: 2%;
    height: 8%;
    /* padding-bottom: 2%; */
    align-items: center;

}

.pagination-container .pagination-container-left {
    height: 54px;
    width: 179px;
    align-items: center;
    display: flex;

}

.pagination-container .pagination-container-right {
    height: 54px;
}




.sorting_disabled {
    background-color: var(--background-white) !important;
}

.custom-tooltip {
    --arrow-offset: 50%;
    position: fixed;
    z-index: 9999;
    background-color: var(--background-grey) !important;
    color: var(--dark-accent-main) !important;
    border-radius: 4px !important;
    box-shadow: 0 2px 6px rgba(0, 0, 0, 0.3) !important;
    border: 1px solid #ccc;
    border-radius: 4px;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.15);
    padding: 12px;
    pointer-events: none;
    opacity: 0;
    transition: opacity 0.2s ease-out;
    display: none;
    max-width: calc(100vw - 20px);
}

.tooltip-content {
    display: flex;
    flex-direction: column;
    gap: 8px;
    max-width: 100%;
}

.tooltip-arrow {
    position: absolute;
    width: 10px;
    height: 10px;
    pointer-events: none;
}

/* Arrow positioning for different directions */
.custom-tooltip[data-position="bottom"] .tooltip-arrow {
    top: -5px;
    left: var(--arrow-offset);
    transform: translateX(-50%) rotate(45deg);
    border-left: 1px solid #ccc;
    border-top: 1px solid #ccc;
    background: white;
}

.custom-tooltip[data-position="top"] .tooltip-arrow {
    bottom: -5px;
    left: var(--arrow-offset);
    transform: translateX(-50%) rotate(225deg);
    border-left: 1px solid #ccc;
    border-top: 1px solid #ccc;
    background: white;
}

.custom-tooltip[data-position="right"] .tooltip-arrow {
    left: -5px;
    top: 50%;
    transform: translateY(-50%) rotate(-45deg);
    border-left: 1px solid #ccc;
    border-top: 1px solid #ccc;
    background: white;
}

.custom-tooltip[data-position="left"] .tooltip-arrow {
    right: -5px;
    top: 50%;
    transform: translateY(-50%) rotate(135deg);
    border-left: 1px solid #ccc;
    border-top: 1px solid #ccc;
    background: white;
}

.tooltip-svg {
    display: flex;
    justify-content: center;
    align-items: center;
}

.tooltip-svg svg {
    max-width: 100%;
    height: auto;
}

.tooltip-text {
    text-align: center;
    font-size: 14px;
    line-height: 1.4;
    color: var(--dark-accent-main) !important;
    word-wrap: break-word;
    overflow-wrap: break-word;
}

/* //Rebuild apps Winbox */
.rebuild-apps-winbox .cont {
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.rebuild-apps-winbox h4 {
    padding: 10px;
    margin-bottom: 0;
}

.rebuild-apps-winbox .list-container {
    overflow: auto;
    height: 200px;
    border: 1px solid var(--grey-borders);
    padding: 16px;
}

.rebuild-apps-winbox .checkbox-container {
    display: flex;
    align-items: center;
}

.rebuild-apps-winbox .checkbox-container span {
    margin-left: 10px;
    cursor: pointer;
    margin-top: 3px;
    color: var(--main);

}

.rebuild-apps-winbox .checkbox-container span:hover {
    transform: scale(1.1);

}

.rebuild-apps-winbox .general-button {
    width: 50%;
    margin: 12px;
    margin-left: 25% !important;

}

/* Tooltip rebuild */
.rebuild-apps-winbox .tooltip-container {
    position: relative;
    display: inline-block;
    margin-left: 10px;
}



.rebuild-apps-winbox .tooltip-text {
    position: absolute;
    bottom: 13%;
    left: 171%;
    transform: translateX(-50%);
    background-color: var(--background-grey-very-ligth);
    border: 0.6px solid var(--background-grey-very-ligth);
    padding: 5px 8px;
    border-radius: 4px;
    font-size: 12px;
    white-space: nowrap;
    visibility: hidden;
    opacity: 0;
    transition: opacity 0.3s ease;
    z-index: 1;
}

.rebuild-apps-winbox .tooltip-text::after {
    content: "";
    position: absolute;
    top: 50%;
    left: -13px;
    transform: translateY(-50%);
    border-width: 6px;
    border-style: solid;
    border-color: transparent var(--background-grey-very-ligth) transparent transparent;
}



.rebuild-apps-winbox .tooltip-container:hover .tooltip-text {
    visibility: visible;
    opacity: 1;
}




/* Scaffold Panel Layout */
.app-scaffold-panel {
    flex-direction: column;
    height: 100%;
    width: 100%;
    overflow-y: hidden;
}

.app-scaffold-tree {
    flex: 0 0 200px;
    /* Fixed height for tree */
    min-height: 200px;
    overflow-y: visible;
    border-bottom: 0px;
}


/* Table container */
.dt-resize-wrapper2 {
    height: calc(100% - 70px);
    /* Account for export wrapper */
    width: calc(100% - 50px);
    position: relative;
    margin-bottom: 30px;
}

.toggle-button-collapse-tree {
    background-color: var(--background-grey);
    color: var(--dark-accent-main);
    border: none;
    cursor: pointer;
    border-radius: 4px;
    font-size: 14px;
    transition: background-color 0.3s;
    z-index: 1;
    height: 25px;
    display: flex;
    justify-content: center;
    align-items: center;
}

.toggle-button-collapse-tree:hover {
    background-color: var(--);
}

table.dataTable>thead>tr>th,
table.dataTable>thead>tr>td {
    padding: 0px;
    border-bottom: 1px solid rgba(0, 0, 0, 0.3);
}




.wb-min {
    /* hide the min button but keep the spacing */
    /*background-image: none !important;*/
}


/* Tippy tooltip Styles */
.tippy-box[data-theme~='chemBot'] {
    background-color: var(--background-grey) !important;
    color: var(--dark-accent-main) !important;
    border-radius: 4px !important;
    box-shadow: 0 2px 6px rgba(0, 0, 0, 0.3) !important;
}

.tippy-box[data-theme~='chemBot'][data-placement^='bottom']>.tippy-arrow::before {
    border-bottom-color: var(--background-grey) !important;
}

.tippy-box[data-theme~='chemBot'][data-placement^='top']>.tippy-arrow::before {
    border-top-color: var(--background-grey) !important;
}

.tippy-box[data-theme~='chemBot'][data-placement^='left']>.tippy-arrow::before {
    border-left-color: var(--background-grey) !important;
}

.tippy-box[data-theme~='chemBot'][data-placement^='right']>.tippy-arrow::before {
    border-right-color: var(--background-grey) !important;
}

.tippy-box[data-theme~='chemBot'] .tippy-content {
    padding: 0.4em 0.8em !important;
    font-size: 0.9rem !important;
}




.CorrelationMatrix table.dataTable th {
    white-space: normal;
    line-height: 1.2;
    vertical-align: middle;
    padding: 4px 8px;
    border-right: 1px solid #ddd;
}

.CorrelationMatrix .dataTables_scrollHead table,
.CorrelationMatrix .dataTables_scrollBody table {
    table-layout: auto;
}
