html, body {
    font-family: 'Roboto', 'Helvetica', 'Arial', sans-serif;
}

h1:focus {
    outline: none;
}

.valid.modified:not([type=checkbox]) {
    outline: 1px solid #26b050;
}

.invalid {
    outline: 1px solid #e50000;
}

.validation-message {
    color: #e50000;
}

.blazor-error-boundary {
    background: url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNTYiIGhlaWdodD0iNDkiIHhtbG5zPSJodHRwOi8vd3d3LnczLmvcmcvMjAwMC9zdmciIHhtbG5zOngsbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIG92ZXJmbG93PSJoaWRkZW4iPjxkZWZzPjxjbGlwUGF0aCBpZD0iY2xpcDAiPjxyZWN0IHg9IjIzNSIgeT0iNTEiIHdpZHRoPSI1NiIgaGVpZ2h0PSI0OSIvPjwvY2xpcFBhdGg+PC9kZWZzPjxnIGNsaXAtcGF0aD0idXJsKCNjbGlwMCkiIHRyYW5zZm9ybT0idHJhbnNsYXRlKC0yMzUgLTUxKSI+PHBhdGggZD0iTTI2My41MDYgNTFDMjY0LjcxNyA1MSAyNjUuODEzIDUxLjQ4MzcgMjY2LjYwNiA1Mi4yNjU4TDI2Ny4wNTIgNTIuNzk4NyAyNjcuNTM5IDUzLjYyODMgMjkwLjE4NSA5Mi4xODMxIDI5MC41NDUgOTIuNzk1IDI5MC42NTYgOTIuOTk2QzI5MC44NzcgOTMuNTEzIDI5MSA5NC4wODE1IDI5MSA5NC42NzgyIDI5MSA5Ny4wNjUxIDI4OS4wMzggOTkgMjg2LjYxNyA5OUwyNDAuMzgzIDk5QzIzNy45NjMgOTkgMjM2IDk3LjA2NTEgMjM2IDk0LjY3ODIgMjM2IDk0LjM3OTkgMjM2LjAzMSA5NC4wODg2IDIzNi4wODkgOTMuODA3MkwyMzYuMzM4IDkzLjAxNjIgMjM2Ljg1OCA5Mi4xMzE0IDI1OS40NzMgNTMuNjI5NCAyNTkuOTYxIDUyLjc5ODUgMjYwLjQwNyA1Mi4yNjU4QzI2MS4yIDUxLjQ4MzcgMjYyLjI5NiA1MSAyNjMuNTA2IDUxWk0yNjMuNTg2IDY2LjAxODNDMjYwLjczNyA2Ni4wMTgzIDI1OS4zMTMgNjcuMTI0NSAyNTkuMzEzIDY5LjMzNyAyNTkuMzEzIDY5LjYxMDIgMjU5LjMzMiA2OS44NjA4IDI1OS4zNzEgNzAuMDg4N0wyNjEuNzk1IDg0LjAxNjEgMjY1LjM4IDg0LjAxNjEgMjY3LjgyMSA2OS43NDc1QzI2Ny44NiA2OS43MzA5IDI2Ny44NzkgNjkuNTg3NyAyNjcuODc5IDY5LjMxNzkgMjY3Ljg3OSA2Ny4xMTgyIDI2Ni40NDggNjYuMDE4MyAyNjMuNTg2IDY2LjAxODNaTTI2My41NzYgODYuMDU0N0MyNjEuMDQ5IDg2LjA1NDcgMjU5Ljc4NiA4Ny4zMDA1IDI1OS43ODYgODkuNzkyMSAyNTkuNzg2IDkyLjI4MzcgMjYxLjA0OSA5My41Mjk1IDI2My41NzYgOTMuNTI5NSAyNjYuMTE2IDkzLjUyOTUgMjY3LjM4NyA5Mi4yODM3IDI2Ny4zODcgODkuNzkyMSAyNjcuMzg3IDg3LjMwMDUgMjY2LjExNiA4Ni4wNTQ3IDI2My41NzYgODYuMDU0N1oiIGZpbGw9IiNGRkU1MDAiIGZpbGwtcnVsZT0iZXZlbm9kZCIvPjwvZz48L3N2Zz4=) no-repeat 1rem/1.8rem, #b32121;
    padding: 1rem 1rem 1rem 3.7rem;
    color: white;
}

.blazor-error-boundary::after {
    content: "An error has occurred."
}

.mud-nav-link .active {
    color: red;
}

a.mud-nav-link.active .mud-nav-link-icon-default {
    color: var(--mud-palette-primary) !important;
}

.mud-table-row.selected {
    background-color: var(--mud-palette-primary) !important;
}

.mud-table-row.selected > .mud-table-cell {
    color: var(--mud-palette-primary-text) !important;
}

.showCursorPointer {
    cursor: pointer;
}

.homecard {
    background-color: var(--mud-palette-primary);
    color: var(--mud-palette-primary-text);
    text-align: center;
    min-height: 10em;
    border-radius: var(--mud-default-borderradius);
}

.homecard .card-title {
    margin-top: 0.5em;
}

.homecard .mud-icon-size-large {
    font-size: 3.5rem !important;
}

.homecard .mud-typography {
    text-transform: uppercase;
}

.homecard:hover,
.homecard :hover {
    background-color: var(--mud-palette-primary-lighten);
}

.homecard.disabled,
.homecard.disabled :hover {
    background-color: var(--tpprimarydisabled) !important;
}

.card-title .oi {
    font-size: 3rem;
}

.adornment-icon-spacing .mud-input-adornment-start .mud-svg-icon {
    margin-left: 12px;
}

.mud-table-cell {
    font-size: 0.8rem;
}

.multiline {
    white-space: pre-wrap;
}

.nowrap {
    white-space: nowrap !important;
}

.mud-input textarea {
    height: auto;
    overflow: visible;
}

.mud-palette-text-success-darken {
    color: var(--mud-palette-success-darken) !important;
}

.mud-palette-text-error-lighten {
    color: var(--mud-palette-error-lighten) !important;
}

.border-card {
    --b: .2em;
    --c: .7em;
    --r: 0em;
    position: relative;
    margin: 0em auto;
    border: solid var(--b) transparent;
    font: 1.25em ubuntu, sans-serif;
}

.border-card::before {
    position: absolute;
    z-index: -1;
    inset: calc(-1*var(--b));
    border: inherit;
    border-radius: var(--r);
    background: var(--mud-palette-primary) border-box;
    --corner: conic-gradient(from -90deg at var(--c) var(--c), red 25%, #0000 0) 0 0/ calc(100% - var(--c)) calc(100% - var(--c)) border-box;
    --inner: conic-gradient(red 0 0) padding-box;
    -webkit-mask: var(--corner), var(--inner);
    -webkit-mask-composite: source-out;
    mask: var(--corner) subtract, var(--inner);
    content: ''
}

.no-padding .mud-input > input.mud-input-root,
.superdense .mud-input > input.mud-input-root {
    padding: 0px;
}

.superdense {
    padding: 0px;
    margin: 0px;
}

.superdense .mud-icon-size-small {
    font-size: 0.9rem;
}

.bold-text {
    font-weight: bold !important;
}

.bordery {
    border: 1px solid var(--mud-palette-primary);
    border-radius: var(--r);
    padding: 20px;
    position: relative;
    z-index: -2;
}

.bordery::after,
.bordery::before,
.bordery .corner,
.bordery .corner2 {
    background-color: white;
    content: "";
    display: block;
    height: 22px;
    position: absolute;
    width: 22px;
}

.bordery::after {
    bottom: -1px;
    right: -1px;
}

.bordery::before {
    top: -1px;
    left: -1px;
}

.bordery .corner {
    top: -1px;
    right: -1px;
}

.bordery .corner2 {
    bottom: -1px;
    left: -1px;
}

.main-title {
    display: inline-block;
    background: -webkit-linear-gradient(0deg, rgba(41,145,204,1) 0%, rgba(158,98,178,1) 50%, rgba(204,55,31,1) 100%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
}

.mud-selected-row {
    background-color: rgba(var(--mud-palette-primary-rgb), .12) !important;
}

@media print {
    .noprint {
        display: none !important;
    }

    body {
        --mud-drawer-width-left: 0px;
    }

    .mud-input textarea {
        height: auto;
        overflow: visible;
    }

    /* Page setup for the Baustoffbedarf print view */
    @page {
        size: A4 portrait;
        margin: 14mm 12mm;
    }

    /* Strip app chrome so only the report prints */
    .mud-appbar,
    .mud-drawer,
    .mud-main-content {
        margin: 0 !important;
        padding: 0 !important;
    }

    /* Keep the report self-contained in light colors. Scoped to the print
       area only: overriding html/body/theme containers here makes Chromium
       retain the printed colors after the preview closes (the page turned
       dark on close). Browsers already drop background colors when printing,
       so the surrounding dark theme never reaches paper. */
    .bsb-print-area,
    .bsb-print-area .mud-paper {
        background: #fff !important;
        color: #1a1a1a !important;
    }

    .bsb-print-area .mud-paper {
        box-shadow: none !important;
        padding: 0 !important;
    }

    /* Keep table rows and section-summary blocks intact across page breaks */
    .bsb-pos-table tr,
    .bsb-summary-row,
    .bsb-dim-table tr {
        break-inside: avoid;
        page-break-inside: avoid;
    }

    /* Never leave a section heading orphaned at the bottom of a page */
    .bsb-section-title {
        break-after: avoid;
        page-break-after: avoid;
    }

    /* Repeat column headers on every page a table spans */
    .bsb-pos-table thead {
        display: table-header-group;
    }

    /* Keep the section total as a normal trailing row so it only appears once,
       at the actual end of the section (table-footer-group would repeat it at
       the bottom of every printed page and read as a misleading subtotal). */
    .bsb-pos-table tfoot {
        display: table-row-group;
    }

    /* Avoid breaking the grand total away from the last section */
    .bsb-grand-total {
        break-inside: avoid;
        page-break-inside: avoid;
    }
}
