html, body, #app, .mud-main-content {
    height: 100%;
    font-family: "Raleway", "Helvetica", "Arial", "sans-serif";
}

.mud-toolbar {
    padding: 0 16px;
}

.app-title {
    margin-left: 3px;
    font-family: 'Audiowide', Helvetica, Arial, sans-serif;
}

.mud-nav-link {
    padding: 10px 16px;
}
.mud-nav-link .mud-nav-link-text {
    margin-left: 16px;
    margin-inline-start: 16px;
    white-space: nowrap;
}
.mud-nav-link.active {
    background-color: var(--mud-palette-secondary) !important;
}
.mud-nav-link.active svg {
    color: white !important;
}
.mud-nav-link.active .mud-nav-link-text {
    color: white !important;
}

.mud-drawer.mud-drawer-mini.mud-drawer-md:not(.mud-drawer--closed), .mud-drawer.mud-drawer-responsive.mud-drawer-md {
    z-index: var(--mud-zindex-drawer);
}

/* Page title */
.mud-typography-h4 {
    margin-top: .4em;
    text-indent: -.04em;
    font-weight: bold;
}

/* Table */
.mud-table.mud-elevation-0:not(.mud-simple-table) {
    border: 1px solid lightgray;
}
.mud-table-root .mud-table-head .mud-table-cell {
    font-weight: 600;
    background-color: var(--mud-palette-secondary-lighten);
    color: white;
}
.mud-table-root .mud-table-head .mud-table-cell:first-of-type {
    border-radius: var(--mud-default-borderradius) 0 0 0;
}
.mud-table-root .mud-table-head .mud-table-cell:last-of-type {
    border-radius: 0 var(--mud-default-borderradius) 0 0;
}
@media (max-width: 600px) {
    .mud-xs-table .mud-table-cell:before {
        content: unset !important;
    }
}

/* Index */
.id-card {
    margin-top: 6em; /* at least negative .photo margin */
    border-radius: 12px;
}

.user-info {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    border: var(--mud-palette-secondary) 1px solid;
    padding: 0px 2.5em 1.2em;
    border-radius: 12px;
    z-index: 100; /* higher than .worker-messages */
    background: white;
    position: relative;
}

.user-info .photo {
    height: 8em;
    width: 8em;
    object-fit: cover;
    border-radius: 4em;
    margin-top: -4em;
    align-self: center;
}

.user-info .name-initials {
    background: lightgray;
    align-items: center;
    justify-content: center;
    display: flex;
}

.user-info .name-initials > span {    
    font-size: 4em;
}

.user-info .greeting {
    text-align: center;
    margin-top: .5em
}

.worker-messages {
    z-index: 1;
}

.worker-messages .message {
    display: flex;
    position: relative;
    align-items: center;
    background: cadetblue;
    border-radius: 0 0 12px 12px;
    padding: calc(.5em + 12px) 1em .5em;
    margin-top: -12px; /* equal to .user-info border-radius */
}

.worker-messages .message .title {
    margin: 0 1em;
}

.worker-messages .message .content {
    flex: 1;
    text-align: right;
}

.worker-messages .mud-link {
    font-size: revert !important;
}

/* Forms */
.mud-tab-badge {
    margin-left: unset !important;
    margin-inline-start: unset !important;
    margin-inline-end: unset;
}
.mud-tabs-toolbar-content {
    /* "Hack" to display the content centered, as <MudTabs Centered="true" MinimumTabWidth="70px"...>
        cause the bottom slider to disappear.
    */
    display: flex;
    justify-content: center;
}

.form-row .mud-alert {
    margin-top: 6px;
}

.mud-input-control {
    padding: 5px 0 !important;
}

.mud-typography-subtitle2 {
    font-weight: 700;
    margin: 1.5em 0 0;
}

.button-row {
    margin: 2em 0 0;
    padding: 0 0 2em;
}

.mud-button .mud-progress-indeterminate {
    color: inherit;
    margin: 0 8px 0 -4px;
}
.mud-button .mud-progress-circular.mud-progress-small {
    height: 20px;
    width: 20px;
}

/* Misc */
.inline-video {
    width: 100%;
    aspect-ratio: 16/9;
}

/* Loading leaf animation */
.loading-wrapper {
    height: 100%;
    display: flex;
    flex-direction: column;
}

@keyframes pulse {
    0% {
        opacity: .4;
    }

    50% {
        opacity: 1;
    }

    100% {
        opacity: .4;
    }
}

.pulsing-icon {
    animation: pulse 3s;
    animation-iteration-count: infinite;
    align-self: center;
    max-height: 12em;
}