#loader-container
{
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    text-align: center;
    width: 300px;
}
.progress-bar-bg
{
    width: 100%;
    height: 20px;
    background-color: #e0e0e0;
    border-radius: 10px;
    overflow: hidden;
}
.progress-bar-fill
{
    height: 100%;
    width: 0%;
    background-color: #0078d7; /* Microsoft blue */
    transition: width 0.3s ease;
}
#progress-text
{
    margin-top: 10px;
    color: #333;
    font-size: 14px;
}

.mud-drawer.custom > .mud-drawer-content > .mud-drawer-header
{
    padding: 12px;
}

.navbar-inverted
{
    background-color: var(--mud-palette-appbar-background);
    color: var(--mud-palette-appbar-text);
}

.mud-nav-link:not(.mud-nav-link-disabled) .mud-nav-link-icon.mud-nav-link-icon-default
{
    color: var(--mud-palette-appbar-text);
}

.mud-navmenu.mud-navmenu-default .mud-nav-link.active:not(.mud-nav-link-disabled)
{
    color: var(--mud-palette-appbar-text);
    background-color: rgba(255, 255, 255, 0.1);
}

@media (hover: hover) and (pointer: fine)
{
    .mud-nav-link:hover:not(.mud-nav-link-disabled)
    {
        cursor: pointer;
        text-decoration: none;
        background-color: rgba(255, 255, 255, 0.1);
    }
}

@media (hover: hover) and (pointer: fine)
{
    .mud-navmenu.mud-navmenu-default .mud-nav-link.active:not(.mud-nav-link-disabled):hover:not(.mud-nav-link-disabled)
    {
        background-color: rgba(255, 255, 255, 0.1);
    }
}

/* for company group row only: eliminate NavGroup icon's left padding (16px) */
.mud-nav-group.left-aligned > .mud-nav-link > .mud-nav-link-text
{
    display: inline-flex;
    margin-left: 0px;
}
/* for company group row only: replicate NavGroup text's properties (copy from .mud-nav-link-text) */
.mud-nav-group.left-aligned > .mud-nav-link > .mud-nav-link-text > .mud-nav-link-text-real
{
    width: 100%;
    text-align: start;
    margin-left: 12px;
    margin-inline-start: 12px;
    margin-inline-end: unset;
    letter-spacing: 0;
}


/* Move NavItem to the left - for profile row only */
.mud-nav-item.left-aligned > .mud-nav-link > .mud-nav-link-text
{
    margin-left: 0px;
}

/* ORIGINALS
.mud-appbar .mud-toolbar-appbar
{
    height: calc(var(--mud-appbar-height) - var(--mud-appbar-height) / 8);
}
@media (min-width: 600px) {
    .mud-appbar .mud-toolbar-appbar {
        height: var(--mud-appbar-height);
    }
}
.mud-main-content
{
    margin: 0;
    flex: 1 1 auto;
    padding-top: calc(var(--mud-appbar-height) - var(--mud-appbar-height) / 8);
}*/
.mud-main-content
{
    padding-top: 72px; /* 56px (7/8) appbar height + 'pa-4' */
}
@media (min-width: 600px)
{
    .mud-main-content
    {
        padding-top: 80px; /* 64px appbar height + 'pa-4' */
    }
}
@media (min-width: 960px) /* MD+: 2 * 'pa-4' = 2 * 16 = 32 */
{
    .page-cont
    {
        height: calc(100vh - 32px);
    }
}
@media (max-width: 959px) /* SM-: AppBar + 2 * 'pa-4' = 64 + 2 * 16 = 96 */
{
    .page-cont
    {
        height: calc(100vh - 96px);
    }
}
@media (max-width: 599px) /* XS: 7/8 AppBar + 2 * 'pa-4' = 56 + 2 * 16 = 88 */
{
    .page-cont
    {
        height: calc(100vh - 88px);
    }
}

/* MudDataGrid's vertical scrollbar addition (https://try.mudblazor.com/snippet/wuGSYoHORmcQAlHF) */
.mud-table.full-height
{
    display: flex;
    flex-direction: column;
    flex-grow: 1;
    overflow: auto;
}
.mud-table.full-height > .mud-table-container
{
    min-height: 0px;
    flex-grow: 1;
}
.mud-table.full-height > .mud-table-pagination
{
    min-height: 52px; /* not 0px - causes mysterious v-scrollbar to appear despite being inside flex */
    flex-grow: 0;
}

/*.mud-grid-item-md-12
{
    max-width: 100%;
}*/

/* MudTab's modification to take up all the vertical container space */
.mud-tabs.full-height
{
    display: flex;
    flex-direction: column;
    flex-grow: 1;
    overflow: auto;
}
.mud-tabs.full-height > .mud-tabs-panels
{
    min-height: 0px;
    flex-grow: 1;

    display: flex;
    flex-direction: column;
    flex-grow: 1;
    overflow: auto;
}
.mud-tabs.full-height > .mud-tabs-panels > .mud-tab-panel
{
    min-height: 0px;
    flex-grow: 1;
}

/* MudStepper's modification to take up all the vertical container space */
.mud-stepper.full-height
{
    display: flex;
    flex-direction: column;
    flex-grow: 1;
    overflow: auto;
}
.mud-stepper.full-height > .mud-stepper-content
{
    min-height: 0px;
    flex-grow: 1;
    overflow: auto;
}

.mud-toolbar.custom-wrapping
{
    flex-wrap: wrap;
    height: unset;
}

/*.mud-stepper.mud-stepper__horizontal.mud-stepper__center-labels .mud-step
{
    flex-basis: 100px !important;
}*/

.mud-dialog.full-height .mud-dialog-content
{
    display: flex;
    flex-direction: column;
}

.fill-height
{
    display: flex;
    flex-direction: column;
    flex-grow: 1;
}

/* Scandalous: MudDataGrid's single selection mode does not visually highlight the selected row AT ALL */
.mud-datagrid-row-selected
{
    background-color: var(--mud-palette-gray-lighter);
}

.img-logo
{
    /*width: 100%;
    height: 100%;*/
    object-fit: scale-down;
}

/* For MudForm inputs: enable '\n' to split merged error message into separate lines */
.mud-input-control.multiple-errors .me-auto
{
    white-space: pre-line;
}

.mud-stepper.no-x-padding > .mud-stepper-content
{
    padding-inline: 4px;
}

/*============== UTILITIES */


.flex-basis-fit
{
    flex-basis: fit-content;
}

.bc-gray-light
{
    border-color: var(--mud-palette-gray-light)
}

.font-bold
{
    font-weight: 700;
}

.whitespace-nowrap
{
    white-space: nowrap;
}