.bg-primary {
    --bs-bg-color: #020441;
    --bs-primary-rgb: 2, 4, 65;
}
.btn-primary {
    --bs-btn-color: #fff;
    --bs-btn-bg: #020441;
    --bs-btn-border-color: #020441;
    --bs-btn-hover-color: #fff;
    --bs-btn-hover-bg: #1a1c58;
    --bs-btn-hover-border-color: #1a1c58;
    --bs-btn-focus-shadow-rgb: 49, 132, 253;
    --bs-btn-active-color: #fff;
    --bs-btn-active-bg: #1a1c58;
    --bs-btn-active-border-color: #1a1c58;
    --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
    --bs-btn-disabled-color: #fff;
    --bs-btn-disabled-bg: #1a1c58;
    --bs-btn-disabled-border-color: #020441;
}
.btn-success {
    --bs-btn-color: #000;
    --bs-btn-bg: #83f100;
    --bs-btn-border-color: #83f100;
    --bs-btn-hover-color: #000;
    --bs-btn-hover-bg: #a8db6b;
    --bs-btn-hover-border-color: #a8db6b;
    --bs-btn-focus-shadow-rgb: 60, 153, 110;
    --bs-btn-active-color: #000;
    --bs-btn-active-bg: #a8db6b;
    --bs-btn-active-border-color: #a8db6b;
    --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
    --bs-btn-disabled-color: #000;
    --bs-btn-disabled-bg: #a8db6b;
    --bs-btn-disabled-border-color: #a8db6b;
}
.btn-outline-white {
  color: #ffffff;
  border-color: #ffffff;
  background-color: transparent;
}

.btn-outline-white:hover {
  color: #000000;
  background-color: rgba(255, 255, 255, 0.1);
  border-color: #ffffff;
}

a:hover, .btn-link:hover {
    text-decoration: none;
}

.link-dotted {
    text-decoration-line: underline;
    text-decoration-style: dotted;
}
.link-dotted:hover {
    text-decoration-line: none;
}

@media (min-width: 1200px) {
    .container-fluid { padding: 0 50px; }
}
#toast-container {
    max-width: 350px;
    width: 100%;
}
.toast {
    transition: opacity 0.5s ease-in-out;
}
.size16 { width: 16px; height: 16px; }
.size24 { width: 24px; height: 24px; }
.filter-row th > div { min-width: 55px; }
.table>:not(caption)>*>* { border-bottom-width: 0; }
[data-q-block] [aria-expanded="false"] { transform: rotate(-90deg); }
.d-block-on-parent-hover { display: none; }
*:hover > .d-block-on-parent-hover { display: block; }
.btn-xs{ --bs-btn-font-size:.75rem; }
.text-truncate-2 {
    display: -webkit-box;
    line-clamp: 2;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;

    overflow: hidden;
    white-space: normal;
}
.input-group > .form-control {
    min-width: 50px;
}
.w-100 { max-width: 100%; }
td > .form-select,
td > .form-control.wf-autocomplete
{
    width: fit-content; 
    max-width: 100%;
}

td > .form-control {
    min-width: 200px;
}
.input-group > .autocomplete {
    flex: 0 0 200px;
}

main { min-height: calc(100vh - 87px); }

.profile-dropdown-menu {
    max-height: min(480px, calc(100vh - 90px));
    max-width: calc(100vw - 1rem);
    overflow-y: auto;
    overflow-x: hidden;
}

.profile-dropdown-menu--wide {
    width: min(480px, calc(100vw - 1rem));
}

.profile-dropdown-grid {
    --bs-gutter-x: 0;
    --bs-gutter-y: 0;
}

.profile-dropdown-menu .dropdown-item {
    display: flex;
    align-items: center;
    gap: .5rem;
    white-space: normal;
}

.profile-dropdown-menu .dropdown-item svg {
    flex: 0 0 auto;
}

@media (max-width: 575.98px) {
    .profile-dropdown-menu {
        max-height: calc(100vh - 1rem);
        width: min(100%, calc(100vw - 1rem));
        min-width: 0;
    }

    .profile-dropdown-grid {
        display: block;
    }
}
