.contrast {
    --black: #000000;
    --gray-600: #555555;
    --gray-700: #333333;
    --gray-900: #1a1a1a;
    --gray-950: #222222;
    --lime: #00ff00;
    --plum: #dda0dd;
    --red: #ff0000;
    --white: #ffffff;
    --yellow-soft: #fffe82;
    --border-gray: 1px solid gray;
    --border-black: 1px solid black;
    --border-white: 1px solid #fff;
    --body-bg-color: #000000;
}

.contrast .MuiAccordion-root,
.contrast .MuiButton-containedPrimary,
.contrast .MuiButton-containedSecondary,
.contrast .MuiCard-root,
.contrast .MuiFab-primary {
    background-color: var(--black);
    border: 1px solid var(--white);
    color: var(--white);
}

.contrast .GridContrast:hover,
.contrast .MuiAccordion-root .Mui-expanded,
.contrast .MuiBox-root,
.contrast .MuiButtonBase-root.MuiListItemButton-root.Mui-selected,
.contrast .MuiCardContent-root,
.contrast .MuiTableHead-root,
.contrast .MuiDataGrid-row,
.contrast main {
    background-color: var(--black);
}

/* Grouped DataGrid odd row and hover/selected styles with unified background color */
.contrast .MuiDataGrid-row:nth-of-type(odd),
.contrast .MuiDataGrid-row:nth-of-type(odd):hover,
.contrast .MuiDataGrid-row:nth-of-type(odd).Mui-selected,
.contrast .MuiDataGrid-row:nth-of-type(odd).Mui-selected:hover,
.contrast .MuiDataGrid-root .MuiDataGrid-row:hover,
.contrast .MuiDataGrid-row.Mui-selected,
.contrast .MuiDataGrid-row.Mui-selected:hover {
    background-color: var(--gray-600);
}

.contrast .MuiDataGrid-columnHeader,
.contrast .MuiDataGrid-row,
.contrast .MuiDataGrid-row:nth-of-type(odd) {
    background-color: var(--black);
    color: var(--yellow-soft);
    font-weight: bold;
}

.contrast .MuiTable-root,
.contrast .MuiDataGrid-root {
    border: 1px solid var(--white);
    color: var(--white);
}

.contrast .MuiDataGrid-cell,
.contrast .MuiDataGrid-footerContainer {
    color: var(--white);
}

.contrast .IconButtonTable,
.contrast .IconButtonTable:hover,
.contrast .Mui-checked,
.contrast .MuiAccordionDetails-root,
.contrast .MuiAccordionSummary-root .MuiSvgIcon-root,
.contrast .MuiButton-outlinedSecondary .MuiSvgIcon-root,
.contrast .MuiButton-root .MuiSvgIcon-root,
.contrast .MuiButton-textPrimary,
.contrast .MuiChartsLegend-label,
.contrast .MuiCircularProgress-root,
.contrast .MuiFormControlLabel-label,
.contrast .MuiFormLabel-colorPrimary,
.contrast .MuiInputAdornment-root .MuiSvgIcon-root,
.contrast .MuiInputBase-input,
.contrast .MuiInputLabel-root,
.contrast .MuiListItem-root,
.contrast .MuiListItemIcon-root,
.contrast .MuiListItemText-root,
.contrast .MuiPickersInputBase-root,
.contrast .MuiTab-root,
.contrast .MuiTableCell-root,
.contrast .MuiTablePagination-root,
.contrast .MuiTextField-root,
.contrast button {
    color: var(--white);
}

.contrast .MuiDataGrid-iconSeparator {
    display: none;
}

.contrast .MuiAccordionSummary-root,
.contrast .MuiAutocomplete-option,
.contrast .MuiDayCalendar-weekDayLabel,
.contrast .MuiInputBase-root,
.contrast .MuiInputBase-root :hover,
.contrast .MuiListItemButton-root,
.contrast .MuiMenuItem-root,
.contrast .MuiPaginationItem-root,
.contrast .MuiPickersDay-root.contrast .Mui-selected,
.contrast button:hover {
    background-color: var(--black);
    color: var(--white);
}

.contrast .MuiAccordion-root :hover {
    color: var(--yellow-soft);
    background: none;
}

.contrast .MuiAccordionActions-root {
    background-color: var(--gray-900);
    border-top: 1px solid var(--white);
}

.contrast .MuiButton-outlinedPrimary,
.contrast .MuiButton-outlinedSecondary,
.contrast .MuiDateCalendar-root,
.contrast .MuiPickersLayout-root {
    background-color: var(--black);
    border: var(--border-white);
    color: var(--white);
}

.contrast .MuiPickersSectionList-root {
    opacity: 1;
}

.contrast .MuiButton-outlinedInfo,
.contrast .MuiPickersDay-root {
    border-color: var(--white);
    color: var(--white);
}

.contrast .MuiInputBase-root .Mui-disabled {
    background-color: var(--gray-700);
    color: var(--white);
}

.contrast .MuiOutlinedInput-notchedOutline {
    border-color: var(--white);
}

.contrast .MuiButton-textPrimary:hover,
.contrast .MuiButtonBase-root.MuiListItemButton-root.Mui-selected .MuiListItemText-primary,
.contrast .MuiCheckbox-root,
.contrast .MuiFab-root .MuiSvgIcon-root,
.contrast .MuiFormHelperText-root,
.contrast .MuiIconButton-root .MuiSvgIcon-root:hover,
.contrast .MuiListItemText-primary:hover,
.contrast .MuiRadio-root,
.contrast .MuiTableHead-root .MuiTableCell-root {
    color: var(--yellow-soft);
}

.contrast .MuiListItemText-primary:hover {
    text-decoration: underline;
}

.contrast .Mui-disabled .contrast .MuiSvgIcon-root,
.contrast .Mui-disabled .MuiTypography-root {
    color: var(--gray-600);
}

.MuiDialog-container .MuiPaper-root,
.MuiModal-root .MuiBox-root,
.MuiPickersTextField-root,
.contrast .MuiPopover-paper {
    border: 1px solid var(--white);
}

.contrast .MuiAutocomplete-option[aria-selected="true"],
.contrast .MuiButton-containedInherit,
.contrast .MuiButtonBase-root .MuiPaginationItem-root .Mui-selected,
.contrast .MuiMenuItem-root .Mui-selected,
.contrast .MuiPaginationItem-root .Mui-selected,
.contrast .MuiPaginationItem-root.MuiPaginationItem-page.Mui-selected {
    background-color: var(--white);
    color: var(--black);
}

.contrast .MuiPaginationItem-root .Mui-disabled {
    color: var(--gray-600);
    opacity: 1;
}

.contrast .MuiChartsAxis-line,
.contrast .MuiChartsAxis-tick,
.contrast .MuiChartsAxis-tickLabel {
    stroke: var(--white);
}

.contrast .MuiButton-containedPrimary:hover,
.contrast .MuiButton-containedSecondary:hover {
    background-color: var(--white);
    border: var(--border-white);
    color: var(--black);
}

.contrast .MuiButton-root:disabled {
    background-color: var(--gray-600);
    border: 1px solid var(--white);
    color: var(--white);
}

.MuiAutocomplete-option[aria-selected="true"].Mui-focused,
.contrast .MuiButton-containedPrimary:hover .MuiSvgIcon-root,
.contrast .MuiButton-containedSecondary:hover .MuiSvgIcon-root,
.contrast .MuiButton-outlinedPrimary:hover .MuiSvgIcon-root,
.contrast .MuiButton-outlinedSecondary:hover .MuiSvgIcon-root,
.contrast .MuiChip-label {
    color: var(--black);
}

.contrast .MuiInputBase-input.Mui-disabled {
    -webkit-text-fill-color: var(--white) !important;
    background-color: var(--gray-700) !important;
    color: var(--white) !important;
    opacity: 1 !important;
}

.contrast .MuiOutlinedInput-root:hover .MuiOutlinedInput-notchedOutline {
    border-color: var(--yellow-soft);
}

.contrast .MuiOutlinedInput-root.Mui-disabled .MuiOutlinedInput-notchedOutline {
    border-color: var(--border-gray) !important;
}

.contrast .MuiButton-outlinedPrimary:hover,
.contrast .MuiButton-outlinedSecondary:hover {
    background-color: var(--white);
    border: var(--border-black);
    color: var(--black);
}

.contrast .MuiButton-outlinedSecondary:disabled {
    background-color: var(--gray-700);
    border: var(--border-gray);
    color: var(--white);
}

.contrast .MuiButton-outlinedSecondary .Mui-disabled {
    background-color: var(--white);
    border-color: var(--plum);
    color: var(--plum);
    font-weight: 500;
}

.contrast .MuiButton-outlinedWarning {
    border-color: var(--yellow-soft);
    color: var(--yellow-soft);
}

.contrast .MuiButton-outlinedError {
    border-color: var(--red);
    color: var(--red);
    font-weight: 500;
}

.contrast .MuiButton-outlinedSuccess {
    border-color: var(--lime);
    color: var(--lime);
}

.contrast .MuiButton-textSecondary {
    color: var(--plum);
}

.contrast .MuiFab-secondary {
    background-color: var(--plum);
    color: var(--white);
}

.contrast .MuiFab-success {
    background-color: var(--lime);
    color: var(--white);
}

.MuiAutocomplete-listbox .MuiAutocomplete-option[aria-selected="true"].Mui-focused,
.contrast .MuiChip-root,
.contrast .MuiTabs-indicator {
    background-color: var(--yellow-soft);
    color: black;
}

.contrast .MuiLinearProgress-root {
    background-color: var(--gray-700);
}

.contrast .MuiLinearProgress-bar,
.contrast .MuiSwitch-root .MuiSwitch-track {
    background-color: var(--white);
}

.contrast .MuiPaper-root {
    background-color: var(--black) !important;
    color: var(--white) !important;
}

.contrast .MuiAutocomplete-option:hover,
.contrast .MuiMenuItem-root:hover {
    background-color: var(--gray-950);
    color: var(--white);
}

.contrast a,
.contrast h1,
.contrast h2,
.contrast h3,
.contrast h4,
.contrast h5,
.contrast h6,
.contrast p {
    color: var(--white) !important;
}

.contrast .MuiListItemButton-root:hover .MuiTypography-root,
.contrast a:hover,
.contrast a:hover p,
.contrast .MuiListItemButton-root:hover {
    color: var(--yellow-soft) !important;
    text-decoration: underline;
    background: none !important;
}

.contrast li::before {
    background-color: var(--yellow-soft) !important;
}

.contrast .MuiSwitch-switchBase.Mui-checked {
    color: var(--yellow-soft) !important;
}

.contrast .MuiInputBase-input::placeholder {
    color: var(--yellow-soft) !important;
    opacity: 1;
}

.contrast .MuiTypography-root {
    color: var(--white);
}
