body {
    background-color: #303030; /* Sets default background color for the page */
    color: #e8eaf5; /* Sets default text color for the page */
  }

/* Navigation Buttons */

.nav-container {
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: center;
    gap: 0;
    margin: 0;
    padding: 0;
}

/* Radio-style Navigation Buttons */
.nav-button {
    background-color: #4444aa;
    border: none;
    color: #fff;
    padding: 10px 20px;
    text-align: center;
    font-size: 16px;
    font-weight: bold;
    cursor: pointer;
    transition: background-color 0.3s ease;
    width: 200px;
    border-radius: 0;
    border-right: 2px solid #333388;
}

.nav-button:hover {
    background-color: #3a3a91;
    color: #fff;
}

.nav-button.active {
    background-color: #373b63;
    color: white;
    font-weight: bold;
}

/* Rounded ends for first and last navigation buttons */
.nav-button.first {
    border-top-left-radius: 10px;
    border-bottom-left-radius: 10px;
}

.nav-button.last {
    border-top-right-radius: 10px;
    border-bottom-right-radius: 10px;
}

/* Prevent double border on last button */
.nav-button.last {
    border-right: none;
}

/* Specific styles for page dropdowns */
.page-dropdown .Select-control {
    background-color: white;
    color: black;
    border: 1px solid #ccc;
    font-size: 16px;
    height: 40px !important;
    min-height: unset !important;
    border-radius: 10px;
    text-align: start;
    align-items: center;
    padding: 0;
    box-sizing: border-box;
}

.page-dropdown .Select-menu-outer {
    background-color: white;
    color: black;
    border-radius: 0 0 5px 5px;
    border: 1px solid #ccc;
    border-top: none;
    margin-top: 0px;
    height: auto !important;
    max-height: 300px !important;
    box-shadow: 0 16px 8px 0 rgba(0, 0, 0, 0.4);
    z-index: 1;
}

.page-dropdown .Select-option {
    display: flex;            /* ensures children align properly */
    align-items: center;
    white-space: nowrap;
    overflow: hidden;
}

.page-dropdown .Select-option span {
    display: inline-block;    /* needed for ellipsis */
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    max-width: 100%;
}

.page-dropdown.secondary .VirtualSelectGrid {
  z-index: 1;
  height: 210px !important;
}

/* Container for the dropdown */

.page-dropdown .Select-placeholder, .Select-arrow-zone, .Select-input, .Select-value-label, .Select-clear-zone {
    line-height: 40px;
}

/* Options inside the dropdown */
.page-dropdown .Select-option {
    background-color: rgb(150, 150, 150);
    color: black;
}

.page-dropdown .Select-option.is-selected {
    background-color: #ccc;
    color: black;
}

/* Hover effect for options */
.page-dropdown .Select-option:hover {
    background-color: #cacaca;
}

.page-dropdown .Select-value-label {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    max-width: 100%;  /* Leaves space for the 'X' and arrow */
    display: inline-block;
    vertical-align: middle;
}

/* Disabled dropdown - exact matching selectors */
.page-dropdown.is-disabled .Select-control {
    background-color: #f5f5f5 !important;
    opacity: 0.7 !important;
    cursor: not-allowed !important;
    border-color: #d9d9d9 !important;
}

.page-dropdown.is-disabled .Select-placeholder {
    color: #777 !important;
}

.page-dropdown.is-disabled .Select-arrow-zone {
    opacity: 0.5 !important;
}

.page-dropdown.is-disabled .Select-arrow {
    border-top-color: #777 !important;
    opacity: 0.5 !important;
}

.page-dropdown.is-disabled .Select-input {
    cursor: not-allowed !important;
}

.form-control {
    height: 40px;
    font-size: 16px;
    padding: 8px 12px;
    border-radius: 10px;
    border: 1px solid #ccc;
    box-shadow: none; /* override Bootstrap's default if needed */
}

.simple-button {
    padding: 0px 0px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 16px;
    font-weight: bold;
    cursor: pointer;
    border-radius: 10px;
    transition: all 0.3s ease;
    width: 200px;
    height: 40px;
    text-align: center;
    text-decoration: none;
}

.simple-button.primary {
    background-color: #CD545B;
    color: #fff;
    border: none;
}

.simple-button.primary:hover {
    background-color: #AE474C;
}

.simple-button.primary:disabled {
    background-color: #cd545abe;
    color: #eee;
    cursor: not-allowed;
    opacity: 0.7;
}

.simple-button.secondary {
    background-color: transparent;
    color: #CD545B;
    border: 2px solid #CD545B;
}

.simple-button.secondary:hover {
    background-color: rgba(205, 84, 91, 0.1);
}

.simple-button.secondary:disabled {
    color: #cd545abe;
    border-color: #cd545abe;
    cursor: not-allowed;
    opacity: 0.7;
}

.simple-button.tertiary {
    background-color: transparent;
    color: #CD545B;
    border: none;
    text-decoration: underline;
}

.simple-button.tertiary:hover {
    color: #AE474C;
    text-decoration: underline;
}

.simple-button.tertiary:disabled {
    color: #cd545abe;
    text-decoration: underline;
    cursor: not-allowed;
    opacity: 0.7;
}

/* restyle radio items */
.radio-group .form-check {
    padding-left: 0;
    
}
  
.radio-group .btn-group > .form-check:not(:last-child) > .btn {
border-top-right-radius: 0;
border-bottom-right-radius: 0;
background-color: #858585; /* Dark background for radio items */
border-color: #e8eaf5;
color: #e8eaf5; /* Light text color for radio items */
}

.radio-group .btn-group > .form-check:not(:first-child) > .btn {
border-top-left-radius: 0;
border-bottom-left-radius: 0;
margin-left: -1px;
background-color: #858585; /* Dark background for radio items */
border-color: #e8eaf5;
color: #e8eaf5; /* Light text color for radio items */
}

/* make the selected radio button look different */
.radio-group .btn-group > .form-check > input[type="radio"]:checked + label {
    background-color: #404040; /* Dark background for selected radio item */
    color: #e8eaf5; /* Light text color for selected radio item */
    border-color: #e8eaf5; /* Light border color for selected radio item */
}

/* Ensure the modal has a high z-index but doesn't create a new stacking context */
.modal {
    /*z-index: 1050 !important;*/
    overflow: visible !important;
}

/* Make the modal content overflow visible */
.modal-content {
    overflow: visible !important;
}

/* Modal body should allow overflow */
.modal-body {
    overflow: visible !important;
    background-color: #404040;
}

.modal-header {
    background-color: #404040;
    color: #e8eaf5;
}
.modal-footer {
    background-color: #404040;
    color: #e8eaf5;
}

/* CSS for dropdowns specifically inside modals */
.modal .modal-dropdown {
    position: relative;
}


.modal .modal-dropdown .Select-menu-outer {
    z-index: 1060 !important;
    /*position: absolute !important;*/
    background-color: white;
    color: black;
    border-radius: 0 0 5px 5px;
    border: 1px solid #ccc;
    border-top: none;
    margin-top: 0px;
}

.modal .modal-dropdown .Select-control {
    z-index: 1055 !important;
    background-color: white;
    color: black;
    border: 1px solid #ccc;
    font-size: 16px;
    height: 38px !important;
    min-height: unset !important;
    border-radius: 10px;
    text-align: start;
    align-items: center;
    padding: 0;
}

.modal .modal-dropdown .Select-menu {
    overflow: visible !important;
}

.modal .modal-dropdown .Select-option {
    color: black;
    background-color: white;
}

.modal .modal-dropdown .Select-option.is-selected {
    background-color: #e6f7ff;
    color: black;
}

.modal .modal-dropdown .Select-option:hover {
    background-color: #f2f2f2;
    color: black;
}

.modal .modal-dropdown .Select-placeholder, .Select-arrow-zone, .Select-input, .Select-value-label, .Select-clear-zone {
    line-height: 40px;
}

.modal .modal-dropdown .Select-value-label {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    max-width: 80%;  /* Leaves space for the 'X' and arrow */
    display: inline-block;
    vertical-align: middle;
}

.modal .modal-dropdown.is-open .Select-control {
    border-bottom-left-radius: 0 !important;
    border-bottom-right-radius: 0 !important;
}

.modal .simple-button:disabled {
    display: flex !important;
    visibility: visible !important;
    pointer-events: auto;
    cursor: not-allowed !important;
}

/* Ensure the cursor changes to a pointer for the whole switch */
.mantine-Switch-label {
    cursor: pointer !important;
}

.mantine-Switch-trackLabel {
    font-size: 14px !important;
}

/* Also apply pointer cursor to the switch thumb (circle) */
.mantine-Switch-thumb {
    cursor: pointer !important;
    background-color: #ffffff !important;
    border: 1px solid #8b8b8b;
}

.mantine-Switch-root:has(input:disabled) .mantine-Switch-thumb {
    cursor: not-allowed !important;
    background-color: #a0a0a0 !important;
    border: 1px solid #8b8b8b;
}


/* Apply pointer cursor to the track (pill shape) */
.mantine-Switch-track {
    cursor: pointer !important;
    border: 0px;
}

/* Apply the blocked cursor when the switch is disabled */
.mantine-Switch-root:has(input:disabled) .mantine-Switch-track {
    cursor: not-allowed !important;
    background-color: #555 !important;
    opacity: 0.6;
}

/* Fix for dbc.RadioItems selected dot color */
.custom-radio-colors .form-check-input:checked {
  border-color: #4444aa !important;
  background-color: #4444aa !important; /* Remove default darkening */
}

.custom-radio-colors .form-check-input:checked::after {
  background-color: #4444aa !important;
  opacity: 1 !important; /* Force full opacity (no darkening) */
  mix-blend-mode: normal !important; /* Disable color blending */
}

.dash-table-container .dash-tooltip {
  max-width: 100% !important;
  white-space: normal !important;
}

.link-hover {
  color: #bcbfff;
  text-decoration: underline;
  transition: color 0.2s ease;
}

.link-hover:hover {
  color: #d8d9ff;
}

/* Slow down the Bootstrap Collapse transition */
.collapse,
.collapsing {
    transition: height 0.5s ease !important;
}