.truncate-text {
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    max-width: 100%;
    display: block;
}

.filter-wrapper {
    background-color: var(--mud-palette-background-gray);
}

.nowrap {
    white-space: nowrap;
}

.mud-table-row {
    vertical-align: top;
}

.font-weight-bold {
    font-weight: bold;
}

.uppercase {
    text-transform: uppercase;
}

.cell-container {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    height: 100%;
}

.cell-bottom-align {
    margin-top: auto;
}

.highlighted-row,
.highlighted-row .mud-table,
.highlighted-row td,
.highlighted-row .mud-table-cell,
.highlighted-row .mud-paper,
.highlighted-row th {
    background-color: rgba(var(--mud-palette-primary-rgb), 0.25) !important;
    box-shadow: 0 0 8px rgba(var(--mud-palette-primary-rgb), 0.4) !important;
    transition: background-color 0.3s ease-out;
}

.highlighted-row .mud-default-text {
    color: var(--mud-palette-text-primary) !important;
}

.mud-button-root.mud-button.mud-button-filled.mud-button-filled-tertiary {
    color: var(--mud-palette-tertiary-text);
    --mud-ripple-color: var(--mud-palette-tertiary-text);
    background-color: var(--mud-palette-tertiary-darken);
}

.mud-paper, .mud-checkbox, .mud-input, .mud-switch {
    transition: all 0.2s ease-in-out;
}

/* Quill Editor Dark Mode Styles - Applied when html has data-theme="dark" */
html[data-theme="dark"] .ql-toolbar.ql-snow,
html[data-theme="dark"] .ql-container.ql-snow {
    border-color: rgba(255, 255, 255, 0.23) !important;
}

html[data-theme="dark"] .ql-toolbar.ql-snow {
    background-color: #424242 !important;
}

html[data-theme="dark"] .ql-snow .ql-stroke {
    stroke: #ffffff !important;
}

html[data-theme="dark"] .ql-snow .ql-fill,
html[data-theme="dark"] .ql-snow .ql-stroke.ql-fill {
    fill: #ffffff !important;
}

html[data-theme="dark"] .ql-snow .ql-picker-label,
html[data-theme="dark"] .ql-snow .ql-picker-item {
    color: rgba(255, 255, 255, 0.7) !important;
}

html[data-theme="dark"] .ql-snow .ql-picker-options {
    background-color: #424242 !important;
    border-color: rgba(255, 255, 255, 0.23) !important;
}

html[data-theme="dark"] .ql-toolbar.ql-snow button:hover,
html[data-theme="dark"] .ql-toolbar.ql-snow button:focus,
html[data-theme="dark"] .ql-toolbar.ql-snow button.ql-active {
    color: #bb86fc !important;
}

html[data-theme="dark"] .ql-toolbar.ql-snow button:hover .ql-stroke,
html[data-theme="dark"] .ql-toolbar.ql-snow button:focus .ql-stroke,
html[data-theme="dark"] .ql-toolbar.ql-snow button.ql-active .ql-stroke {
    stroke: #bb86fc !important;
}

html[data-theme="dark"] .ql-toolbar.ql-snow button:hover .ql-fill,
html[data-theme="dark"] .ql-toolbar.ql-snow button:focus .ql-fill,
html[data-theme="dark"] .ql-toolbar.ql-snow button.ql-active .ql-fill {
    fill: #bb86fc !important;
}

html[data-theme="dark"] .ql-editor {
    color: rgba(255, 255, 255, 0.87) !important;
}

html[data-theme="dark"] .ql-editor.ql-blank::before {
    color: rgba(255, 255, 255, 0.5) !important;
}
