:root {
    --background-color: #fbfbfb;
    --border-radius: 10px;
    --che-blue: #004070;
    --che-blue-hover: #002038;
    --che-green: #2fac66;
    --che-green-hover: #0c854b;
    --danger: #dc3545;
    --danger-hover: #bb2d3b;
    --opacity: 0.75;
}

body {
    font-family: 'Segoe UI', Helvetica, sans-serif;
    margin: 0;
    background: var(--che-blue) url('CHEGradientA_00104.webp') no-repeat center;
    background-size: cover;
}

table.table {
    vertical-align: middle;
    margin-bottom: 7rem;
}

    table.table tr {
        border-bottom: 1px solid currentColor;
    }

    table.table th {
        border-bottom: 2px solid currentColor;
        background-color: var(--background-color);
        position: sticky;
        top: 0;
    }

dialog {
    background: var(--che-blue) url('CHEGradientA_00104.webp') no-repeat center;
    border: none;
    border-radius: calc(2 * var(--border-radius));
    padding: 1rem;
}

    dialog::backdrop {
        background-color: #000a;
        pointer-events: none;
    }

    dialog .wrapper {
        background-color: var(--background-color);
        border-radius: var(--border-radius);
        padding: 1.5rem;
        padding-top: 1rem;
    }

.bi {
    display: inline-block;
    position: relative;
    width: 3rem;
    height: 3rem;
    margin-right: 0.75rem;
    top: -1px;
    background-size: cover;
}

a, .btn-link {
    color: var(--che-blue);
}

.btn-primary {
    color: #fff;
    background-color: var(--che-blue);
    border: none;
}

    .btn-primary:hover {
        background-color: var(--che-blue-hover);
    }

dialog .header-container .btn-close {
    margin: -2.6rem -2.5rem 1rem 1rem;
    padding: 0 1rem;
    border-radius: 0 calc(var(--border-radius) * 2);
    background: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23fff'%3e%3cpath d='M.293.293a1 1 0 011.414 0L8 6.586 14.293.293a1 1 0 111.414 1.414L9.414 8l6.293 6.293a1 1 0 01-1.414 1.414L8 9.414l-6.293 6.293a1 1 0 01-1.414-1.414L6.586 8 .293 1.707a1 1 0 010-1.414z'/%3e%3c/svg%3e") center/1em auto no-repeat;
    background-color: var(--danger);
    opacity: 1;
}
    dialog .header-container .btn-close:hover {
        background-color: var(--danger-hover);
    }

.btn:focus, .btn:active:focus, .btn-link.nav-link:focus, .form-control:focus, .form-check-input:focus {
    box-shadow: 0 0 0 0.1rem black, 0 0 0 0.25rem #258cfb;
}

.nav-pills {
    gap: .3rem;
}

    .nav-pills .nav-link {
        color: var(--che-blue);
        background-color: #e9ecef;
    }

        .nav-pills .nav-link:hover {
            background-color: #c8d4e0;
        }

        .nav-pills .nav-link.active {
            color: #fff;
            background-color: var(--che-blue);
        }

.content {
    padding: 1rem 1.5rem 0;
}

.header-container {
    display: flex;
    align-items: center;
    justify-content: space-between;
}

    button.btn {
        border-radius: var(--border-radius);
        border: none;
        height: 3rem;
        padding: 0 1.5rem;
    }

        button.btn-download, dialog .btn-cancel {
            background-color: var(--che-blue);
            color: #fff;
        }

            button.btn-download:hover, dialog .btn-cancel:hover {
                background-color: var(--che-blue-hover);
                color: #fff;
            }

.btn-wrapper {
    display: flex;
    flex-wrap: wrap;
    gap: 1rem;
    position: fixed;
    bottom: 2.5rem;
    right: 8rem;
    border-radius: var(--border-radius);
    max-width: calc(80vw - 11.5rem);
}

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,PHN2ZyB3aWR0aD0iNTYiIGhlaWdodD0iNDkiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIG92ZXJmbG93PSJoaWRkZW4iPjxkZWZzPjxjbGlwUGF0aCBpZD0iY2xpcDAiPjxyZWN0IHg9IjIzNSIgeT0iNTEiIHdpZHRoPSI1NiIgaGVpZ2h0PSI0OSIvPjwvY2xpcFBhdGg+PC9kZWZzPjxnIGNsaXAtcGF0aD0idXJsKCNjbGlwMCkiIHRyYW5zZm9ybT0idHJhbnNsYXRlKC0yMzUgLTUxKSI+PHBhdGggZD0iTTI2My41MDYgNTFDMjY0LjcxNyA1MSAyNjUuODEzIDUxLjQ4MzcgMjY2LjYwNiA1Mi4yNjU4TDI2Ny4wNTIgNTIuNzk4NyAyNjcuNTM5IDUzLjYyODMgMjkwLjE4NSA5Mi4xODMxIDI5MC41NDUgOTIuNzk1IDI5MC42NTYgOTIuOTk2QzI5MC44NzcgOTMuNTEzIDI5MSA5NC4wODE1IDI5MSA5NC42NzgyIDI5MSA5Ny4wNjUxIDI4OS4wMzggOTkgMjg2LjYxNyA5OUwyNDAuMzgzIDk5QzIzNy45NjMgOTkgMjM2IDk3LjA2NTEgMjM2IDk0LjY3ODIgMjM2IDk0LjM3OTkgMjM2LjAzMSA5NC4wODg2IDIzNi4wODkgOTMuODA3MkwyMzYuMzM4IDkzLjAxNjIgMjM2Ljg1OCA5Mi4xMzE0IDI1OS40NzMgNTMuNjI5NCAyNTkuOTYxIDUyLjc5ODUgMjYwLjQwNyA1Mi4yNjU4QzI2MS4yIDUxLjQ4MzcgMjYyLjI5NiA1MSAyNjMuNTA2IDUxWk0yNjMuNTg2IDY2LjAxODNDMjYwLjczNyA2Ni4wMTgzIDI1OS4zMTMgNjcuMTI0NSAyNTkuMzEzIDY5LjMzNyAyNTkuMzEzIDY5LjYxMDIgMjU5LjMzMiA2OS44NjA4IDI1OS4zNzEgNzAuMDg4N0wyNjEuNzk1IDg0LjAxNjEgMjY1LjM4IDg0LjAxNjEgMjY3LjgyMSA2OS43NDc1QzI2Ny44NiA2OS43MzA5IDI2Ny44NzkgNjkuNTg3NyAyNjcuODc5IDY5LjMxNzkgMjY3Ljg3OSA2Ny4xMTgyIDI2Ni40NDggNjYuMDE4MyAyNjMuNTg2IDY2LjAxODNaTTI2My41NzYgODYuMDU0N0MyNjEuMDQ5IDg2LjA1NDcgMjU5Ljc4NiA4Ny4zMDA1IDI1OS43ODYgODkuNzkyMSAyNTkuNzg2IDkyLjI4MzcgMjYxLjA0OSA5My41Mjk1IDI2My41NzYgOTMuNTI5NSAyNjYuMTE2IDkzLjUyOTUgMjY3LjM4NyA5Mi4yODM3IDI2Ny4zODcgODkuNzkyMSAyNjcuMzg3IDg3LjMwMDUgMjY2LjExNiA4Ni4wNTQ3IDI2My41NzYgODYuMDU0N1oiIGZpbGw9IiNGRkU1MDAiIGZpbGwtcnVsZT0iZXZlbm9kZCIvPjwvZz48L3N2Zz4=) no-repeat 1rem/1.8rem, #b32121;
    padding: 1rem 1rem 1rem 3.7rem;
    color: black;
}

    .blazor-error-boundary::after {
        content: "An error has occurred."
    }

.darker-border-checkbox.form-check-input {
    border-color: #929292;
}

button.btn-add {
    border: none;
    border-radius: 100%;
    position: fixed;
    bottom: 2.5rem;
    right: 2.5rem;
    background-color: var(--che-blue);
    overflow: hidden;
    transition-property: color, transform;
    transition-duration: .5s;
    transition-timing-function: ease-in-out;
    cursor: pointer;
    z-index: 997;
}

button.btn-add, .btn-icon {
    width: 4rem;
    height: 4rem;
    padding: 0;
    margin: 0;
}

    button.btn-add:has(input:focus-visible) {
        outline: 2px solid black;
    }

@media only screen and (max-width: 767px) {
    button.btn-add {
        bottom: 8rem;
    }

    .btn-wrapper {
        max-width: calc(100vw - 10.5rem);
    }
}

@media (hover: hover) {
    button.btn-add:hover .btn-icon {
        background-color: var(--che-blue-hover);
        color: currentColor;
    }
}

.bi-plus {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='white' class='bi bi-plus' viewBox='0 0 16 16'%3E%3Cpath d='M8 4a.5.5 0 0 1 .5.5v3h3a.5.5 0 0 1 0 1h-3v3a.5.5 0 0 1-1 0v-3h-3a.5.5 0 0 1 0-1h3v-3A.5.5 0 0 1 8 4'/%3E%3C/svg%3E");
}

.bi-calendar-event {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='white' class='bi bi-calendar-event' viewBox='0 0 16 16'%3E%3Cpath d='M11 6.5a.5.5 0 0 1 .5-.5h1a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-.5.5h-1a.5.5 0 0 1-.5-.5z'/%3E%3Cpath d='M3.5 0a.5.5 0 0 1 .5.5V1h8V.5a.5.5 0 0 1 1 0V1h1a2 2 0 0 1 2 2v11a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2V3a2 2 0 0 1 2-2h1V.5a.5.5 0 0 1 .5-.5M1 4v10a1 1 0 0 0 1 1h12a1 1 0 0 0 1-1V4z'/%3E%3C/svg%3E");
}

.bi-clipboard-heart {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='white' class='bi bi-clipboard-heart' viewBox='0 0 16 16'%3E%3Cpath fill-rule='evenodd' d='M5 1.5A1.5 1.5 0 0 1 6.5 0h3A1.5 1.5 0 0 1 11 1.5v1A1.5 1.5 0 0 1 9.5 4h-3A1.5 1.5 0 0 1 5 2.5zm5 0a.5.5 0 0 0-.5-.5h-3a.5.5 0 0 0-.5.5v1a.5.5 0 0 0 .5.5h3a.5.5 0 0 0 .5-.5z'/%3E%3Cpath d='M3 1.5h1v1H3a1 1 0 0 0-1 1V14a1 1 0 0 0 1 1h10a1 1 0 0 0 1-1V3.5a1 1 0 0 0-1-1h-1v-1h1a2 2 0 0 1 2 2V14a2 2 0 0 1-2 2H3a2 2 0 0 1-2-2V3.5a2 2 0 0 1 2-2'/%3E%3Cpath d='M8 6.982C9.664 5.309 13.825 8.236 8 12 2.175 8.236 6.336 5.31 8 6.982'/%3E%3C/svg%3E");
}