html,
body {
    margin: 0;
}

html {
    --portal-root-scrollbar-comp: calc((100vw - 100%) / 2);
}

.page-body {
    padding-top: 0.45rem;
}

.portal-content-shell {
    margin-top: 0.45rem !important;
    margin-bottom: 0.9rem !important;
}

.portal-page {
    display: grid;
    gap: 1rem;
    min-width: 0;
}

.portal-page-header,
.portal-page-body {
    min-width: 0;
}

.portal-page-header > .page-header {
    margin-top: 0 !important;
    margin-bottom: 0 !important;
}

.portal-page-body .county-selector-inline,
.portal-page-body .ts-wrapper {
    width: 100%;
    min-width: 0;
    max-width: 100%;
}

@media (min-width: 992px) {
    .navbar-expand-lg.navbar-vertical.portal-sidebar ~ .page-wrapper {
        margin-left: calc(15rem - var(--portal-root-scrollbar-comp));
    }

    .page-wrapper.portal-layout--contained > .navbar .container-xl,
    .page-wrapper.portal-layout--contained .page-body > .portal-content-shell {
        max-width: none;
        margin-left: 0;
        margin-right: 0;
        padding-left: calc(var(--tblr-gutter-x) * 0.5);
        padding-right: calc(var(--tblr-gutter-x) * 0.5);
    }

    .page-wrapper.portal-layout--flush > .navbar .container-xl,
    .page-wrapper.portal-layout--flush .page-body > .portal-content-shell {
        max-width: none;
        margin-left: 0;
        margin-right: 0;
        padding-left: calc(var(--tblr-gutter-x) * 0.5);
        padding-right: calc(var(--tblr-gutter-x) * 0.5);
    }
}

.portal-content-shell > .page-header {
    margin-top: 0 !important;
}

.portal-kpi-row {
    --tblr-gutter-x: 0.75rem;
    --tblr-gutter-y: 0.5rem;
}

@media (max-width: 767.98px) {
    .portal-kpi-row {
        --tblr-gutter-x: 0.625rem;
        --tblr-gutter-y: 0.5rem;
    }
}
.navbar-brand {
    font-weight: 600;
}

a:focus-visible,
button:focus-visible,
[role="button"]:focus-visible,
.btn:focus-visible,
.nav-link:focus-visible,
.dropdown-item:focus-visible,
.list-group-item-action:focus-visible {
    outline: 3px solid rgba(37, 99, 235, 0.28);
    outline-offset: 2px;
}

.btn,
.nav-link,
.dropdown-item,
.list-group-item-action,
.navbar-toggler,
.portal-mobile-logout-button,
.portal-desktop-profile-link {
    min-height: 44px;
}

.btn,
.navbar-toggler,
.portal-mobile-logout-button {
    min-width: 44px;
}

.navbar-dark {
    --tblr-navbar-hover-color: #ffffff;
    --tblr-navbar-active-color: #ffffff;
}

.navbar-vertical .navbar-nav .nav-link.active {
    border-left: 3px solid #6f9ed4;
    background-color: rgba(255, 255, 255, 0.08);
}

.navbar-vertical .navbar-nav .nav-link,
.navbar-vertical.navbar-expand-lg .navbar-collapse .dropdown-menu .dropdown-item {
    display: flex;
    align-items: center;
}

.navbar-vertical.navbar-expand-lg .navbar-collapse .dropdown-menu .dropdown-item {
    transition: color .3s, background-color .3s;
}

.navbar-vertical.navbar-expand-lg .navbar-collapse .dropdown-menu .dropdown-item:hover {
    color: #ffffff;
}

.navbar-vertical.navbar-expand-lg .navbar-collapse .dropdown-menu .dropdown-item.active {
    text-decoration: underline;
    color: #ffffff;
}

.dropdown-menu-end[data-bs-popper] {
    left: 0;
}

.portal-mobile-account-summary {
    cursor: default;
}

.portal-mobile-account-summary .nav-link-title {
    display: grid;
    gap: 0.1rem;
}

.portal-mobile-account-meta {
    font-size: 0.8rem;
    color: rgba(255, 255, 255, 0.68);
    font-style: normal;
}

.portal-mobile-logout-form {
    margin: 0;
}

.portal-mobile-logout-button {
    width: 100%;
    border: 0;
    background: transparent;
    color: inherit;
    text-align: left;
}

.portal-mobile-logout-button:focus-visible,
.portal-sidebar .navbar-toggler:focus-visible {
    box-shadow: 0 0 0 0.25rem rgba(13, 110, 253, 0.25);
}

@media (max-width: 991.98px) {
    .portal-page-header > .page-header {
        margin-top: 0 !important;
    }

    .portal-sidebar {
        --tblr-navbar-padding-y: 0;
        position: relative;
    }

    .portal-sidebar > .container-fluid {
        position: relative;
        flex-wrap: nowrap;
        align-items: center;
        min-height: 56px;
        height: 56px;
        padding: 0 0.75rem;
        row-gap: 0;
        overflow: visible;
    }

    .portal-sidebar-brand {
        display: flex;
        flex: 1 1 auto;
        align-items: center;
        min-width: 0;
        min-height: 56px;
        height: 56px;
        margin: 0;
    }

    .portal-sidebar-brand a {
        display: inline-flex;
        align-items: center;
        min-height: 56px;
    }

    .portal-sidebar .navbar-toggler {
        margin: 0;
        align-self: center;
        flex: 0 0 auto;
    }

    .portal-sidebar .navbar-collapse {
        position: absolute;
        top: 56px;
        left: 0;
        right: 0;
        z-index: 1100;
        background: var(--tblr-dark);
        padding: 0 0.75rem 0.75rem;
        border-top: 1px solid rgba(255, 255, 255, 0.08);
        box-shadow: 0 18px 30px rgba(15, 23, 42, 0.24);
    }

    .portal-sidebar .navbar-collapse.show,
    .portal-sidebar .navbar-collapse.collapsing {
        margin-top: 0;
    }

    .portal-mobile-account-divider .dropdown-divider {
        border-top-color: rgba(255, 255, 255, 0.12);
    }
}
