:root {
    color-scheme: light;
    --dfu-background: #f4f8fc;
    --dfu-surface: #ffffff;
    --dfu-surface-muted: #f8fbfe;
    --dfu-navy: #102033;
    --dfu-navy-soft: #43566d;
    --dfu-border: #c9d7e5;
    --dfu-border-strong: #aebfd0;
    --dfu-red: #f9142f;
    --dfu-red-dark: #d80f27;
    --dfu-red-soft: #fff1f3;
    --dfu-teal: #0bafa5;
    --dfu-teal-dark: #07877f;
    --dfu-teal-soft: #e9f9f7;
    --dfu-column-blue: #95eded;
    --dfu-column-green: #aedfbe;
    --dfu-column-yellow: #ffe066;
    --dfu-shadow-sm: 0 1px 2px rgb(16 32 51 / 5%);
    --dfu-shadow-md: 0 10px 28px rgb(16 32 51 / 7%);
    --dfu-radius-sm: 0.35rem;
    --dfu-radius-md: 0.55rem;
    --dfu-transition: 160ms ease;
}

html {
    min-height: 100%;
    background: var(--dfu-background);
}

body {
    min-height: 100vh;
    margin: 0;
    background: var(--dfu-background);
    color: var(--dfu-navy);
    font-family: Inter, Aptos, "Segoe UI Variable", "Segoe UI", sans-serif;
    font-size: 0.9375rem;
    line-height: 1.5;
    -webkit-font-smoothing: antialiased;
    text-rendering: optimizeLegibility;
}

a,
.btn-link {
    color: var(--dfu-teal-dark);
    text-underline-offset: 0.16em;
}

a:hover,
.btn-link:hover {
    color: var(--dfu-navy);
}

button,
input,
select,
textarea {
    font: inherit;
}

button {
    transition:
        color var(--dfu-transition),
        background-color var(--dfu-transition),
        border-color var(--dfu-transition),
        box-shadow var(--dfu-transition),
        transform var(--dfu-transition);
}

button:not(:disabled) {
    cursor: pointer;
}

button:disabled {
    cursor: not-allowed;
}

input,
select,
textarea {
    color: var(--dfu-navy);
}

::selection {
    background: rgb(11 175 165 / 20%);
    color: var(--dfu-navy);
}

.btn-primary {
    border-color: var(--dfu-red);
    background-color: var(--dfu-red);
    color: #fff;
}

.btn-primary:hover {
    border-color: var(--dfu-red-dark);
    background-color: var(--dfu-red-dark);
}

.btn:focus,
.btn:active:focus,
.btn-link.nav-link:focus,
.form-control:focus,
.form-check-input:focus,
button:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible,
a:focus-visible {
    outline: 2px solid var(--dfu-teal);
    outline-offset: 2px;
    box-shadow: none;
}

.content {
    padding-top: 1.1rem;
}

h1,
h2,
h3,
h4,
h5,
h6 {
    color: var(--dfu-navy);
    font-weight: 700;
    letter-spacing: -0.025em;
}

h1:focus {
    outline: none;
}

.alert {
    border-width: 1px;
    border-radius: var(--dfu-radius-md);
    box-shadow: var(--dfu-shadow-sm);
}

.alert-danger {
    border-color: rgb(249 20 47 / 28%);
    background: var(--dfu-red-soft);
    color: #8d1020;
}

.alert-success {
    border-color: rgb(11 175 165 / 32%);
    background: var(--dfu-teal-soft);
    color: #075f59;
}

.valid.modified:not([type="checkbox"]) {
    outline: 1px solid var(--dfu-teal);
}

.invalid {
    outline: 1px solid var(--dfu-red);
}

.validation-message {
    color: var(--dfu-red-dark);
}

.blazor-error-boundary {
    padding: 1rem 1rem 1rem 3.7rem;
    background: var(--dfu-red);
    color: #fff;
}

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

.darker-border-checkbox.form-check-input {
    border-color: var(--dfu-border-strong);
}

.rz-multiselect-panel {
    --rz-dropdown-item-selected-background-color: #ffffff;
    --rz-dropdown-item-selected-hover-background-color: #ffffff;
    --rz-dropdown-item-selected-color: #171717;
    --rz-dropdown-item-selected-hover-color: #171717;
    --rz-dropdown-item-selected-shadow: none;
    --rz-checkbox-checked-background-color: #ffffff;
    --rz-checkbox-checked-hover-background-color: #ffffff;
    --rz-checkbox-checked-color: #171717;
    --rz-checkbox-checked-border: 1px solid #8a8a8a;
    --rz-checkbox-checked-hover-border: 1px solid #8a8a8a;
    --rz-checkbox-checked-shadow: none;
}

    .rz-multiselect-panel .rz-multiselect-header,
    .rz-multiselect-panel .rz-multiselect-header .rz-chkbox-label,
    .rz-multiselect-panel .rz-multiselect-selectall {
        font-size: 12px !important;
        white-space: nowrap !important;
    }

.rz-multiselect-panel:has([data-tekla-column-filter]) {
    min-width: 140px !important;
    padding-inline: 0 !important;
    overflow: hidden !important;
    box-sizing: border-box !important;
}

.rz-multiselect-panel:has([data-tekla-column-filter]) .rz-multiselect-header {
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    padding-inline: 0.35rem !important;
    overflow: hidden !important;
    box-sizing: border-box !important;
}

.rz-multiselect-panel:has([data-tekla-column-filter]) .rz-multiselect-items-wrapper {
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    max-height: 225px !important;
    margin: 0 !important;
    overflow-x: scroll !important;
    overflow-y: auto !important;
    box-sizing: border-box !important;
    overscroll-behavior: contain;
}

.rz-multiselect-panel:has([data-tekla-column-filter]) .rz-multiselect-items {
    width: max-content !important;
    min-width: 100% !important;
}

.rz-multiselect-panel:has([data-tekla-column-filter]) .rz-multiselect-item {
    width: max-content !important;
    min-width: 100% !important;
    max-width: none !important;
    padding: 0.2rem 0.35rem !important;
    gap: 0.25rem !important;
    overflow: visible !important;
    box-sizing: border-box !important;
    white-space: nowrap !important;
}

.rz-multiselect-panel:has([data-tekla-column-filter]) .rz-multiselect-item .rz-chkbox {
    margin: 0 !important;
    flex: 0 0 auto !important;
}

.rz-multiselect-panel:has([data-tekla-column-filter]) .rz-multiselect-item-content {
    min-width: max-content !important;
    margin: 0 !important;
    flex: 0 0 auto !important;
    white-space: nowrap !important;
}
