/* /Components/Layout/MainLayout.razor.rz.scp.css */
.layout-demo[b-oew1djljp9],
.layout-demo[b-oew1djljp9]  .layout {
    height: 100dvh;
    overflow:hidden;
}

    /* flex children won't shrink below content height without this - was silently
       never matching (needed ::deep: .layout-main is rendered by the Layout
       component itself, not by this component's own markup), so nothing capped
       main's height and the whole page scrolled instead of just its content. */
    .layout-demo[b-oew1djljp9]  .layout-main {
        min-height: 0;
        min-width: 0;
        overflow: hidden;
    }

.main-scroll[b-oew1djljp9] {
    /* Percentage height depends on every ancestor (the BB page-tab-strip's
       .tabs/.tabs-body among them) resolving to a definite height first - one
       broken link in that chain and this collapses to auto, so nothing scrolls
       here and the browser scrolls the whole page instead. Anchoring directly
       to the viewport sidesteps that chain entirely. */
    height: calc(100dvh - var(--bb-layout-header-height) - var(--bb-layout-footer-height) - 44px); /* 44px = the nav bar under the header */
    overflow-y: auto;
}

/* The map page fills the whole content area edge to edge: the layout's 1rem padding stays (the nav bar
   above cancels it with its own negative margin, so it must keep it), and main-scroll cancels it on its
   sides and bottom. It takes exactly what is left under the nav bar (instead of the 44px guess above)
   and stops scrolling, so no gap or scrollbar shows beside the map. */
.layout-demo[b-oew1djljp9]  .layout-main:has(.map-root) {
    display: flex;
    flex-direction: column;
}

.main-scroll:has(.map-root)[b-oew1djljp9] {
    flex: 1 1 0;
    height: auto;
    min-height: 0;
    margin: 0 -1rem -1rem;
    overflow: hidden;
}

.side-wrapper[b-oew1djljp9] {
    position: sticky;
    max-height: 90vh;
    display: flex;
    flex-direction: column;
    border-right: 1px solid #e6e6e6;
    overflow: hidden;
}

.side-menu-top[b-oew1djljp9] {
    flex: 1 1 auto;
    overflow-y: auto; /* long menus scroll instead of shoving the bottom off */
}

.side-menu-bottom[b-oew1djljp9] {
    flex: 0 0 auto; /* never shrinks, always sits at the bottom */
    border-top: 1px solid #e6e6e6;
    margin-bottom: 5px;
}

[b-oew1djljp9] .layout-header {
    display: flex;
    align-items: center;
}

.side-profile[b-oew1djljp9] {
    flex: 0 0 auto;
    display: flex;
    align-items: flex-start;
    gap: 0.65rem;
    padding: 0.85rem 1rem;
    margin: 0 0.5rem;
    background-color: #f8f9fb;
    border: 1px solid #e9ecef;
    border-radius: 0.6rem;
}

.side-profile-avatar[b-oew1djljp9] {
    flex: 0 0 auto;
    width: 38px;
    height: 38px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    background: #0d6efd;
    color: #fff;
    font-size: 0.8rem;
    font-weight: 700;
    letter-spacing: 0.02em;
    background-color: #27391C;
}

.side-profile-info[b-oew1djljp9] {
    min-width: 0;
    flex: 1 1 auto;
}

.side-profile-name[b-oew1djljp9] {
    font-weight: 700;
    font-size: 0.85rem;
    color: #212529;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.side-profile-org[b-oew1djljp9] {
    font-size: 0.75rem;
    color: #6c757d;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    margin-top: 0.1rem;
}

.side-profile-roles[b-oew1djljp9] {
    display: flex;
    flex-wrap: wrap;
    gap: 0.3rem;
    margin-top: 0.4rem;
}

.side-profile-role-badge[b-oew1djljp9] {
    font-size: 0.68rem;
    font-weight: 600;
    padding: 0.15em 0.55em;
    border-radius: 999px;
    background: rgba(40, 90, 72, 0.3);
    color: #27391C;
    text-transform: capitalize;
}

.layout-demo[b-oew1djljp9]  .layout-header {
    --bb-layout-header-background: #12544F;
}

.layout-demo[b-oew1djljp9]  .layout-main {
    background-color: #E8F5E9;
}

.side-top-section[b-oew1djljp9] {
    flex: 1 1 auto;
    min-height: 0;
    overflow-y: hidden;
    overflow-x: hidden;
}
/* /Components/Layout/MainNavBar.razor.rz.scp.css */
/* Navigation bar under the top header: deep green, white text, white dropdowns - the same look as the public portal's nav bar */
.main-nav[b-ou0nlu73dp] {
    background-color: #0d3f3b;
    position: relative;
    z-index: 1020;
    display: flex;
    align-items: center;
    padding: 0 1rem;
    margin: -1rem -1rem 0; /* the layout pads its main area; the bar runs edge to edge */
}

.main-nav-list[b-ou0nlu73dp] {
    display: flex;
    flex-wrap: wrap;
    gap: 0.25rem;
    flex: 1 1 auto;
}

.main-nav-item[b-ou0nlu73dp] {
    position: relative;
}

.main-nav-link[b-ou0nlu73dp] {
    display: block;
    padding: 0.6rem 1rem;
    color: #fff;
    text-decoration: none;
    font-weight: 500;
    border-bottom: 3px solid transparent;
    cursor: pointer; /* the submenu parents have no href, so the browser would show the plain arrow */
}

    .main-nav-link.active[b-ou0nlu73dp] {
        border-bottom-color: #DC143C;
        background-color: rgba(255, 255, 255, 0.08);
    }

.main-nav-item:hover > .main-nav-link[b-ou0nlu73dp],
.main-nav-item:focus-within > .main-nav-link[b-ou0nlu73dp] {
    background-color: rgba(255, 255, 255, 0.12);
    border-bottom-color: #DC143C;
}

.main-nav-sub[b-ou0nlu73dp] {
    display: none;
    position: absolute;
    left: 0;
    top: 100%;
    min-width: 15rem;
    margin: 0;
    padding: 0.25rem 0;
    background-color: #fff;
    border: 1px solid #c8e6c9;
    border-top: 0;
    border-radius: 0 0 0.375rem 0.375rem;
    box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.15);
    z-index: 1030;
}

.main-nav-item:hover > .main-nav-sub[b-ou0nlu73dp],
.main-nav-item:focus-within > .main-nav-sub[b-ou0nlu73dp] {
    display: block;
}

.main-nav-sub a[b-ou0nlu73dp] {
    display: block;
    padding: 0.5rem 1rem;
    color: #0d3f3b;
    text-decoration: none;
}

    .main-nav-sub a:hover[b-ou0nlu73dp],
    .main-nav-sub a:focus[b-ou0nlu73dp],
    .main-nav-sub a.active[b-ou0nlu73dp] {
        background-color: #E8F5E9;
    }

.main-nav-footer[b-ou0nlu73dp] {
    flex: 0 0 auto;
    margin-left: 1rem;
    font-size: 0.8rem;
    color: rgba(255, 255, 255, 0.7);
    white-space: nowrap;
}

/* set by wwwroot/js/navmenu.js right after a sub-menu link was clicked */
.main-nav-item.nav-dismissed > .main-nav-sub[b-ou0nlu73dp] {
    display: none;
}
/* /Components/Layout/NavMenu.razor.rz.scp.css */
.navbar-toggler[b-qt995o4rw2] {
    background-color: rgba(255, 255, 255, 0.1);
}

.top-row[b-qt995o4rw2] {
    min-height: 3.5rem;
    background-color: rgba(0,0,0,0.4);
}

.navbar-brand[b-qt995o4rw2] {
    font-size: 1.1rem;
}

.bi[b-qt995o4rw2] {
    display: inline-block;
    position: relative;
    width: 1.25rem;
    height: 1.25rem;
    margin-right: 0.75rem;
    top: -1px;
    background-size: cover;
}

.bi-house-door-fill-nav-menu[b-qt995o4rw2] {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='white' class='bi bi-house-door-fill' viewBox='0 0 16 16'%3E%3Cpath d='M6.5 14.5v-3.505c0-.245.25-.495.5-.495h2c.25 0 .5.25.5.5v3.5a.5.5 0 0 0 .5.5h4a.5.5 0 0 0 .5-.5v-7a.5.5 0 0 0-.146-.354L13 5.793V2.5a.5.5 0 0 0-.5-.5h-1a.5.5 0 0 0-.5.5v1.293L8.354 1.146a.5.5 0 0 0-.708 0l-6 6A.5.5 0 0 0 1.5 7.5v7a.5.5 0 0 0 .5.5h4a.5.5 0 0 0 .5-.5Z'/%3E%3C/svg%3E");
}

.bi-plus-square-fill-nav-menu[b-qt995o4rw2] {
    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-square-fill' viewBox='0 0 16 16'%3E%3Cpath d='M2 0a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V2a2 2 0 0 0-2-2H2zm6.5 4.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 1 0z'/%3E%3C/svg%3E");
}

.bi-list-nested-nav-menu[b-qt995o4rw2] {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='white' class='bi bi-list-nested' viewBox='0 0 16 16'%3E%3Cpath fill-rule='evenodd' d='M4.5 11.5A.5.5 0 0 1 5 11h10a.5.5 0 0 1 0 1H5a.5.5 0 0 1-.5-.5zm-2-4A.5.5 0 0 1 3 7h10a.5.5 0 0 1 0 1H3a.5.5 0 0 1-.5-.5zm-2-4A.5.5 0 0 1 1 3h10a.5.5 0 0 1 0 1H1a.5.5 0 0 1-.5-.5z'/%3E%3C/svg%3E");
}

.nav-item[b-qt995o4rw2] {
    font-size: 0.9rem;
    padding-bottom: 0.5rem;
}

    .nav-item:first-of-type[b-qt995o4rw2] {
        padding-top: 1rem;
    }

    .nav-item:last-of-type[b-qt995o4rw2] {
        padding-bottom: 1rem;
    }

    .nav-item[b-qt995o4rw2]  a {
        color: #d7d7d7;
        border-radius: 4px;
        height: 3rem;
        display: flex;
        align-items: center;
        line-height: 3rem;
    }

.nav-item[b-qt995o4rw2]  a.active {
    background-color: rgba(255,255,255,0.37);
    color: white;
}

.nav-item[b-qt995o4rw2]  a:hover {
    background-color: rgba(255,255,255,0.1);
    color: white;
}

@media (min-width: 641px) {
    .navbar-toggler[b-qt995o4rw2] {
        display: none;
    }

    .collapse[b-qt995o4rw2] {
        /* Never collapse the sidebar for wide screens */
        display: block;
    }

    .nav-scrollable[b-qt995o4rw2] {
        /* Allow sidebar to scroll for tall menus */
        height: calc(100vh - 3.5rem);
        overflow-y: auto;
    }
}
/* /Components/Layout/PublicLayout.razor.rz.scp.css */
/* Header in the portal's green (same as the signed-in layout), the nav bar below it is the deeper shade */
.public-header[b-ki25dymqvk] {
    background-color: #12544F;
    color: #fff;
}

.public-header-title[b-ki25dymqvk] {
    color: #fff;
}

/* the language switcher's outline buttons are dark-on-dark here */
.public-header[b-ki25dymqvk]  .language-switcher .btn-outline-secondary {
    color: #fff;
    border-color: rgba(255, 255, 255, 0.5);
}

    .public-header[b-ki25dymqvk]  .language-switcher .btn-outline-secondary:hover {
        background-color: rgba(255, 255, 255, 0.15);
    }

.public-main[b-ki25dymqvk] {
    background-color: #F4FAF5;
}

.public-footer[b-ki25dymqvk] {
    background-color: #fff;
}
/* /Components/Layout/PublicNavBar.razor.rz.scp.css */
/* Navigation bar below the header: deep green, white text, dropdowns on hover/focus */
.public-nav[b-275l06bjge] {
    background-color: #0d3f3b;
    position: relative;
    z-index: 1020;
}

    .public-nav > ul[b-275l06bjge] {
        gap: 0.25rem;
    }

.public-nav-item[b-275l06bjge] {
    position: relative;
}

.public-nav-link[b-275l06bjge] {
    display: block;
    padding: 0.6rem 1rem;
    color: #fff;
    text-decoration: none;
    font-weight: 500;
    border-bottom: 3px solid transparent;
    cursor: pointer; /* the submenu parents have no href, so the browser would show the plain arrow */
}

.public-nav-item:hover > .public-nav-link[b-275l06bjge],
.public-nav-item:focus-within > .public-nav-link[b-275l06bjge] {
    background-color: rgba(255, 255, 255, 0.12);
    border-bottom-color: #DC143C;
}

.public-nav-sub[b-275l06bjge] {
    display: none;
    position: absolute;
    left: 0;
    top: 100%;
    min-width: 15rem;
    margin: 0;
    padding: 0.25rem 0;
    background-color: #fff;
    border: 1px solid #c8e6c9;
    border-top: 0;
    border-radius: 0 0 0.375rem 0.375rem;
    box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.15);
}

.public-nav-item:hover > .public-nav-sub[b-275l06bjge],
.public-nav-item:focus-within > .public-nav-sub[b-275l06bjge] {
    display: block;
}

.public-nav-sub a[b-275l06bjge] {
    display: block;
    padding: 0.5rem 1rem;
    color: #0d3f3b;
    text-decoration: none;
}

    .public-nav-sub a:hover[b-275l06bjge],
    .public-nav-sub a:focus[b-275l06bjge] {
        background-color: #E8F5E9;
    }

/* dropdowns of the right-most items must not run off the screen */
.public-nav-item:nth-last-child(-n+2) > .public-nav-sub[b-275l06bjge] {
    left: auto;
    right: 0;
}

/* set by wwwroot/js/navmenu.js right after a sub-menu link was clicked */
.public-nav-item.nav-dismissed > .public-nav-sub[b-275l06bjge] {
    display: none;
}
/* /Components/Pages/Application/Create.razor.rz.scp.css */
.step-demo[b-habcs8t1lj]  .step {
    padding: 0 1rem;
    border-radius: var(--bs-border-radius);
    border: var(--bs-border-width) solid var(--bs-border-color);
    background: #F2F2F2;
}

.step-demo .fa-chevron-right[b-habcs8t1lj] {
    font-size: 1rem;
}
/* /Components/Pages/Home.razor.rz.scp.css */
/* Dashboard content must fill .main-scroll exactly (never exceed it) so ONLY
   the applications table scrolls - not the whole dashboard. Everything above
   the table (user-info card, KPI row, card header, tab labels) keeps its
   natural height; the applications card is the one flexible item that eats
   whatever's left, and its table is the only thing that scrolls inside that. */
.dashboard-flex[b-4gc2dtvr0b] {
    display: flex;
    flex-direction: column;
    height: 100%;
    min-height: 0;
}

.applications-card[b-4gc2dtvr0b] {
    flex: 1 1 auto;
    min-height: 0;
}

.applications-card-body[b-4gc2dtvr0b] {
    flex: 1 1 auto;
    min-height: 0;
    overflow: hidden;
    display: flex;
    flex-direction: column;
}

    /* Plain (non-tabbed) role: table-responsive sits directly in card-body. */
    .applications-card-body > .table-responsive[b-4gc2dtvr0b] {
        flex: 1 1 auto;
        min-height: 0;
        max-height: none; /* overrides app.css's generic 60vh guess - this page computes a real height */
    }

.applications-tab-wrap[b-4gc2dtvr0b] {
    flex: 1 1 auto;
    min-height: 0;
    display: flex;
    flex-direction: column;
}

    /* .tabs/.tabs-body/.tabs-body-content are rendered by the Tab library component itself, not by
       this file's own markup, so they need ::deep to actually be reached. Each level is a flex column
       that fills what is left, so the only thing that scrolls is the table. */
    .applications-tab-wrap[b-4gc2dtvr0b]  .tabs {
        flex: 1 1 auto;
        height: auto;
        min-height: 0;
    }

    .applications-tab-wrap[b-4gc2dtvr0b]  .tabs-body {
        flex: 1 1 auto;
        min-height: 0;
        overflow: hidden;
        display: flex;
        flex-direction: column;
    }

    .applications-tab-wrap[b-4gc2dtvr0b]  .tabs-body-content {
        flex: 1 1 auto;
        min-height: 0;
        height: auto;
        display: flex;
        flex-direction: column;
    }

    .applications-tab-wrap .table-responsive[b-4gc2dtvr0b] {
        flex: 1 1 auto;
        min-height: 0;
        max-height: none;
        overflow-y: auto;
    }
/* /Components/Pages/Map/Map.razor.rz.scp.css */
html:has(:is(dialog[open]))[b-fft9zpbi0f] {
    scrollbar-gutter: auto;
    overflow: visible;
}

#oltb[b-fft9zpbi0f] {
    left: auto !important;
    right: -60px;
    top: 40% !important;
/*    background: #FFFFFF !important;
    background: linear-gradient(188deg,rgba(255, 255, 255, 1) 0%, rgba(251, 251, 251, 1) 5%, rgba(247, 247, 247, 1) 21%, rgba(243, 243, 243, 1) 35%, rgba(240, 240, 240, 1) 55%, rgba(245, 245, 245, 1) 68%, rgba(250, 250, 250, 1) 80%, rgba(255, 255, 255, 1) 95%) !important;*/
    background-color: rgba(255, 255, 255, 0.8);
    backdrop-filter: blur(5px);
    /* background: #BFC6C4 !important;
        background: linear-gradient(1deg,rgba(191, 198, 196, 1) 0%, rgba(244, 241, 239, 1) 36%, rgba(221, 222, 220, 1) 73%, rgba(191, 198, 196, 1) 99%) !important; */
}

.oltb-toolbar[b-fft9zpbi0f] {
    position: fixed;
    bottom: 20px;
    top: 40% !important;
    right: 20px;
    z-index: 9999;
}

.map-scope .oltb-tool-button[b-fft9zpbi0f] {
    display: flex;
    align-items: center;
    justify-content: center;
}

/* A plain inline cursor style on the OL viewport loses to ol.css's own rules
       (and to classes OL toggles on it/its children mid-drag, e.g. .ol-grab) -
       !important on every descendant beats all of that regardless of what OL
       sets afterwards. */
.map-scope.zoom-in-active[b-fft9zpbi0f],
.map-scope.zoom-in-active *[b-fft9zpbi0f],
.map-scope.zoom-out-active[b-fft9zpbi0f],
.map-scope.zoom-out-active *[b-fft9zpbi0f] {
    cursor: crosshair !important;
}


.map-scope.ol-zoom[b-fft9zpbi0f],
.map-scope .ol-zoom[b-fft9zpbi0f] {
    top: 15px;
    right: 15px;
    left: auto;
    bottom: auto;
    /* Optional: Adds a subtle shadow around the control container for a modern look */
    box-shadow: 0 2px 6px rgba(0, 0, 0, 0.3);
    border-radius: 4px;
    overflow: hidden;
    display: flex;
    flex-direction: row;
}

    .map-scope .ol-zoom button[b-fft9zpbi0f] {
        /* Makes the buttons bigger */
        width: 2em;
        height: 2em;
        font-size: 0.96rem;
        /* Reset defaults for a cleaner look */
        background-color: #2C3947;
        color: white;
        border: 1px solid #547A95;
        cursor: pointer;
        transition: background-color 0.2s ease-in-out, transform 0.15s ease-in-out;
    }

        /* Flip the +/- order: OL renders zoom-in (+) first, zoom-out (-) second */
        .map-scope .ol-zoom button:first-child[b-fft9zpbi0f] {
            order: 2;
        }

        .map-scope .ol-zoom button:last-child[b-fft9zpbi0f] {
            order: 1;
        }

        .map-scope .ol-zoom button:hover[b-fft9zpbi0f] {
            background-color: #547A95;
            color: white;
            transform: scale(1.05);
        }

        .map-scope .ol-zoom button:active[b-fft9zpbi0f],
        .map-scope .ol-zoom button:focus[b-fft9zpbi0f],
        .map-scope .ol-zoom button:focus-visible[b-fft9zpbi0f] {
            color: white;
        }

        .map-scope .ol-zoom button:active[b-fft9zpbi0f] {
            transform: scale(0.95);
        }


.divider[b-fft9zpbi0f] {
    width: 2px;
    margin: 0;
    background: #DFDFDE;
    height: 5vh;
}

.divider-header[b-fft9zpbi0f] {
    width: 2px;
    margin: 2px;
    background: #25343F;
    height: 1.2em;
}

.map-header[b-fft9zpbi0f] {
    display: flex;
    flex-direction: column;
    flex: 0 0 10%;
    margin: 0;
    padding: 0;
    overflow: hidden;
}

.map-header-row[b-fft9zpbi0f] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 0 1rem;
    gap: 1rem;
}

.map-header-top[b-fft9zpbi0f] {
    height: 40%;
    background: #abbaab; /* fallback for old browsers */
    background: -webkit-linear-gradient(to right, #ffffff, #abbaab); /* Chrome 10-25, Safari 5.1-6 */
    background: linear-gradient(to right, #ffffff, #abbaab);
}

    .map-header-top img[b-fft9zpbi0f] {
        height: 1.5rem;
        width: auto;
        vertical-align: middle;
    }

.map-header-bottom[b-fft9zpbi0f] {
    height: 60%;
}

.map-header-flag-text[b-fft9zpbi0f] {
    display: flex;
    align-items: center;
    gap: 0.5rem;
}

.map-header-map-label[b-fft9zpbi0f] {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    font-weight: 600;
    font-size: 1.2em;
}

#custom-select[b-fft9zpbi0f] {
    appearance: none;
    -webkit-appearance: none;
    font-size: 0.75rem;
    line-height: 1.25rem;
    padding: 0.25rem 1.75rem 0.25rem 0.6rem;
    border: 1px solid #cbd5e1;
    border-radius: 0.375rem;
    background-color: #fff;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23475569' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: right 0.4rem center;
    background-size: 0.85em;
    color: #1f2937;
    cursor: pointer;
    transition: border-color 0.15s ease-in-out;
}

    #custom-select:hover[b-fft9zpbi0f] {
        border-color: #94a3b8;
    }

    #custom-select:focus[b-fft9zpbi0f] {
        outline: none;
        border-color: #0038AF;
        box-shadow: 0 0 0 2px rgba(0, 56, 147, 0.25);
    }

.scale-control[b-fft9zpbi0f] {
    padding: 0.25rem 0.5rem;
    border-radius: 0.375rem;
    background-color: rgba(255, 255, 255, 0.06);
}

.scale-control-icon[b-fft9zpbi0f] {
    font-size: 0.75rem;
    color: #DFDFDE;
    cursor: pointer;
    transition: color 0.15s ease, transform 0.15s ease;
}

    .scale-control-icon:hover[b-fft9zpbi0f] {
        color: #5996FF;
        transform: scale(1.15);
    }

/* --- Small helpers Bootstrap doesn't ship, replacing removed Tailwind utilities --- */
.fs-xs[b-fft9zpbi0f] {
    font-size: 0.75rem;
}

.rotate-180[b-fft9zpbi0f] {
    transform: rotate(180deg);
}

.line-clamp-2[b-fft9zpbi0f] {
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.tree-row[b-fft9zpbi0f],
.tree-item[b-fft9zpbi0f] {
    border-radius: 0.5rem;
    cursor: pointer;
    transition: background-color 0.15s ease, color 0.15s ease;
}

    .tree-row:hover[b-fft9zpbi0f],
    .tree-item:hover[b-fft9zpbi0f] {
        background-color: rgba(89, 150, 255, 0.1);
        color: #5996FF;
    }

.vertical-btn[b-fft9zpbi0f] {
    writing-mode: vertical-lr;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    min-width: 3rem;
    height: 8rem;
    padding: 0.25rem;
    font-weight: 600;
    font-size: 0.875rem;
    color: #fff;
    background: linear-gradient(to bottom, #5a3f1f, #412D15);
    border-radius: 0 0.75rem 0.75rem 0;
    border: 1px solid #2a1c0d;
    box-shadow: 0 4px 6px rgba(42, 28, 13, 0.4);
    cursor: pointer;
    transition: all 0.2s ease-out;
}

    .vertical-btn:hover[b-fft9zpbi0f] {
        background: linear-gradient(to bottom, #6b4b26, #4f3618);
        box-shadow: 0 10px 15px rgba(42, 28, 13, 0.5);
        transform: translateX(2px);
    }

    .vertical-btn:active[b-fft9zpbi0f] {
        transform: translateX(0);
        box-shadow: 0 1px 2px rgba(42, 28, 13, 0.4);
    }

.trigger-thumb[b-fft9zpbi0f],
.basemap-thumb[b-fft9zpbi0f] {
    position: relative;
    width: 80px;
    height: 80px;
    border-radius: 0.5rem;
    overflow: hidden;
    cursor: pointer;
    box-shadow: 0 4px 6px rgba(0,0,0,0.2);
    border: 2px solid rgba(0,0,0,0.15);
    transition: transform 0.3s ease, border-color 0.2s ease;
}

    .trigger-thumb:hover[b-fft9zpbi0f],
    .basemap-thumb:hover[b-fft9zpbi0f] {
        transform: translateY(-4px);
        border-color: var(--mud-palette-primary, #594AE2);
    }

    .basemap-thumb.active[b-fft9zpbi0f] {
        border-color: var(--mud-palette-primary, #594AE2);
    }

.basemap-caption[b-fft9zpbi0f] {
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    padding: 0.125rem 0.25rem;
    background: linear-gradient(to top, rgba(0,0,0,0.85), transparent);
    text-align: center;
    color: #fff;
    font-size: 0.65rem;
    font-weight: 500;
}

.selected-badge[b-fft9zpbi0f] {
    position: absolute;
    top: 4px;
    right: 4px;
    width: 16px;
    height: 16px;
    border-radius: 50%;
    background: var(--mud-palette-primary, #594AE2);
    display: flex;
    align-items: center;
    justify-content: center;
}
/* /Components/Pages/Map/_MapPopup.razor.rz.scp.css */
.mud-button-label[b-64vqh5yyw6]{
    text-align: center !important;
}

.mud-icon-button-label[b-64vqh5yyw6] {
    text-align: center !important;
}
/* /Components/Pages/Notification.razor.rz.scp.css */
/* CSS for Notification component */
.row[b-hzrgvv0u1g] {
    margin: auto;
    padding: 30px;
    width: 80%;
    display: flex;
    flex-flow: column;

    .card {
        width: 100%;
        margin-bottom: 5px;
        display: block;
        transition: opacity 0.3s;
    }
}


.card-body[b-hzrgvv0u1g] {
    padding: 0.5rem;

    table {
        width: 100%;

        tr {
            display: flex;

            td {
                a.btn {
                    font-size: 0.8rem;
                    padding: 3px;
                }
            }

                td:nth-child(2)[b-hzrgvv0u1g] {
                    text-align: right;
                    justify-content: space-around;
                }
        }
    }
}

.card-title[b-hzrgvv0u1g]:before {
    display: inline-block;
    font-family: 'Font Awesome\ 5 Free';
    font-weight: 900;
    font-size: 1.1rem;
    text-align: center;
    border: 2px solid grey;
    border-radius: 100px;
    width: 30px;
    height: 30px;
    padding-bottom: 3px;
    margin-right: 10px;
}

.notification-invitation[b-hzrgvv0u1g] {
    .card-body {
        .card-title:before {
            color: #90CAF9;
            border-color: #90CAF9;
            content: "\f007";
        }
    }
}

.notification-warning[b-hzrgvv0u1g] {
    .card-body {
        .card-title:before {
            color: #FFE082;
            border-color: #FFE082;
            content: "\f071";
        }
    }
}

.notification-danger[b-hzrgvv0u1g] {
    .card-body {
        .card-title:before {
            color: #FFAB91;
            border-color: #FFAB91;
            content: "\f00d";
        }
    }
}

.notification-reminder[b-hzrgvv0u1g] {
    .card-body {
        .card-title:before {
            color: #CE93D8;
            border-color: #CE93D8;
            content: "\f017";
        }
    }
}

.card.display-none[b-hzrgvv0u1g] {
    display: none;
    transition: opacity 2s;
}

/* /Components/Pages/Public/HeroCarousel.razor.rz.scp.css */
/* Fills the hero (.public-hero is position: relative) behind the search. */
.hero-carousel[b-k06vsn6sea] {
    position: absolute;
    inset: 0;
    overflow: hidden;
    background: #0d3f3b;
}

.hero-slide[b-k06vsn6sea] {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    opacity: 0;
    transition: opacity 1.4s ease;
}

    /* The photo eases out of a slight zoom while it is showing; the zoom ends as it fades away. */
    .hero-slide.is-active[b-k06vsn6sea] {
        opacity: 1;
        animation: hero-settle-b-k06vsn6sea 7.5s ease-out forwards;
    }

@keyframes hero-settle-b-k06vsn6sea {
    from { transform: scale(1.06); }
    to { transform: scale(1); }
}

/* Deep green over the middle keeps the headline and search readable; the edges let the forest through. */
.hero-scrim[b-k06vsn6sea] {
    position: absolute;
    inset: 0;
    background:
        linear-gradient(0deg, rgba(8, 43, 40, 0.6) 0%, rgba(8, 43, 40, 0) 32%),
        radial-gradient(ellipse 75% 100% at 50% 50%, rgba(8, 43, 40, 0.88) 0%, rgba(13, 63, 59, 0.72) 45%, rgba(13, 63, 59, 0.2) 100%);
}

.hero-controls[b-k06vsn6sea] {
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
    bottom: 1rem;
    display: flex;
    align-items: center;
    gap: 0.4rem;
    z-index: 2;
}

.hero-btn[b-k06vsn6sea] {
    width: 2.25rem;
    height: 2.25rem;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    border: 1px solid rgba(255, 255, 255, 0.55);
    background: rgba(255, 255, 255, 0.14);
    color: #fff;
    font-size: 0.8rem;
    transition: background-color 0.2s ease;
}

    .hero-btn:hover[b-k06vsn6sea] {
        background: rgba(255, 255, 255, 0.3);
    }

.hero-dots[b-k06vsn6sea] {
    display: flex;
    align-items: center;
}

/* The button is the 2.25rem touch target; the bar inside is what is drawn. */
.hero-dot[b-k06vsn6sea] {
    width: 2.25rem;
    height: 2.25rem;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0;
    border: 0;
    background: none;
}

    .hero-dot span[b-k06vsn6sea] {
        display: block;
        width: 0.9rem;
        height: 4px;
        border-radius: 2px;
        background: rgba(255, 255, 255, 0.6);
        transition: width 0.3s ease, background-color 0.3s ease;
    }

    .hero-dot:hover span[b-k06vsn6sea] {
        background: #fff;
    }

    .hero-dot.is-active span[b-k06vsn6sea] {
        width: 1.9rem;
        background: #DC143C;
    }

.hero-btn:focus-visible[b-k06vsn6sea],
.hero-dot:focus-visible[b-k06vsn6sea] {
    outline: 2px solid #fff;
    outline-offset: 2px;
}

@media (max-width: 767.98px) {
    .hero-scrim[b-k06vsn6sea] {
        background:
            linear-gradient(0deg, rgba(8, 43, 40, 0.6) 0%, rgba(8, 43, 40, 0) 32%),
            rgba(8, 43, 40, 0.72);
    }
}

@media (prefers-reduced-motion: reduce) {
    .hero-slide[b-k06vsn6sea] {
        transition: none;
    }

        .hero-slide.is-active[b-k06vsn6sea] {
            animation: none;
        }
}
/* /Components/Pages/Public/PublicHome.razor.rz.scp.css */
/* Search over the forest photo carousel (HeroCarousel fills the section behind it) */
.public-hero[b-lhwainftn6] {
    position: relative;
    isolation: isolate;
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 26rem;
    padding: clamp(2.5rem, 7vw, 5rem) clamp(1rem, 5vw, 4rem) 4.25rem;
    background: #0d3f3b;
    border-bottom: 3px solid #DC143C;
    color: #fff;
}

.search-stage[b-lhwainftn6] {
    position: relative;
    z-index: 1;
    width: 100%;
    max-width: 760px;
    text-align: center;
}

.search-title[b-lhwainftn6] {
    font-size: clamp(1.9rem, 4.2vw, 3rem);
    font-weight: 700;
    line-height: 1.12;
    color: #fff;
    margin-bottom: 0.6rem;
    text-shadow: 0 2px 14px rgba(0, 0, 0, 0.35);
}

.search-sub[b-lhwainftn6] {
    max-width: 52ch;
    margin: 0 auto 1.75rem;
    font-size: 1.05rem;
    color: rgba(255, 255, 255, 0.92);
    text-shadow: 0 1px 8px rgba(0, 0, 0, 0.35);
}

.search-bar[b-lhwainftn6] {
    display: flex;
    align-items: center;
    background: #fff;
    border: 1px solid transparent;
    border-radius: 999px;
    padding: 0.35rem 0.35rem 0.35rem 1.1rem;
    box-shadow: 0 12px 32px rgba(0, 0, 0, 0.3);
}

.search-bar:focus-within[b-lhwainftn6] {
    border-color: #0d3f3b;
    box-shadow: 0 0 0 0.2rem rgba(13, 63, 59, 0.2);
}

.search-bar-icon[b-lhwainftn6] {
    color: #0d3f3b;
    margin-right: 0.7rem;
}

.search-bar-input[b-lhwainftn6] {
    flex: 1;
    min-width: 0;
    border: 0;
    outline: 0;
    background: transparent;
    font-size: 1.05rem;
    color: #1b2b29;
    padding: 0.5rem 0;
}

.search-bar-btn[b-lhwainftn6] {
    border: 0;
    border-radius: 999px;
    background: #0d3f3b;
    color: #fff;
    font-weight: 600;
    padding: 0.6rem 1.6rem;
}

    .search-bar-btn:hover[b-lhwainftn6] {
        background: #12544F;
    }

.advanced-toggle[b-lhwainftn6] {
    margin-top: 0.9rem;
    background: none;
    border: 0;
    color: #fff;
    font-weight: 500;
    padding: 0.25rem 0.5rem;
    text-shadow: 0 1px 8px rgba(0, 0, 0, 0.4);
}

    .advanced-toggle:hover[b-lhwainftn6],
    .advanced-toggle:focus-visible[b-lhwainftn6] {
        text-decoration: underline;
    }

.advanced-panel[b-lhwainftn6] {
    margin-top: 1rem;
    background: #fff;
    border: 1px solid #c8e6c9;
    border-radius: 0.5rem;
    padding: 1.1rem;
    text-align: left;
}

.search-hint[b-lhwainftn6] {
    max-width: 52ch;
    margin: 0 auto;
}

@media (max-width: 575.98px) {
    .search-bar-btn[b-lhwainftn6] {
        padding: 0.6rem 1.1rem;
    }
}

/* Search button of the advanced panel in the nav bar's deep green */
.btn-success[b-lhwainftn6] {
    --bs-btn-bg: #0d3f3b;
    --bs-btn-border-color: #0d3f3b;
    --bs-btn-hover-bg: #12544F;
    --bs-btn-hover-border-color: #12544F;
    --bs-btn-active-bg: #12544F;
    --bs-btn-active-border-color: #12544F;
    --bs-btn-disabled-bg: #0d3f3b;
    --bs-btn-disabled-border-color: #0d3f3b;
}
/* /Components/Pages/Settings/CompensationSettings.razor.rz.scp.css */
/* The reference table fills the page: the card takes the whole height of .main-scroll, the tab body
   takes what is left under the tab strip, and ONLY the table scrolls (header row stays put) - not the
   page. Same idea as Home.razor.css. The tab library renders .tabs/.tabs-body itself, hence ::deep;
   its wrapper depth is unknown, so each level under .tabs-body is made a flex column that fills it. */
.settings-fill[b-xicjk7igvt] {
    display: flex;
    flex-direction: column;
    height: 100%;
    min-height: 0;
}

    .settings-fill > .card[b-xicjk7igvt] {
        flex: 1 1 auto;
        min-height: 0;
    }

.settings-card-body[b-xicjk7igvt] {
    display: flex;
    flex-direction: column;
    min-height: 0;
}

    .settings-card-body[b-xicjk7igvt]  .tabs {
        flex: 1 1 auto;
        height: auto;
        min-height: 0;
    }

    .settings-card-body[b-xicjk7igvt]  .tabs-body {
        flex: 1 1 auto;
        min-height: 0;
        overflow: hidden;
        display: flex;
        flex-direction: column;
    }

        .settings-card-body[b-xicjk7igvt]  .tabs-body > *,
        .settings-card-body[b-xicjk7igvt]  .tabs-body > * > * {
            flex: 1 1 auto;
            min-height: 0;
            display: flex;
            flex-direction: column;
        }

    .settings-card-body[b-xicjk7igvt]  .ref-editor {
        flex: 1 1 auto;
        min-height: 0;
        display: flex;
        flex-direction: column;
    }

    /* overrides app.css's generic 60vh cap on .main-scroll .table-responsive */
    .settings-card-body[b-xicjk7igvt]  .ref-editor .table-responsive {
        flex: 1 1 auto;
        min-height: 0;
        max-height: none;
        overflow-y: auto;
    }

    .settings-card-body[b-xicjk7igvt]  .tabs-body .settings-editor {
        flex: 1 1 auto;
        min-height: 0;
        display: flex;
        flex-direction: column;
    }
/* /Components/Pages/Settings/ProtectedAreaSettings.razor.rz.scp.css */
/* The table fills the page: the card takes the whole height of .main-scroll and ONLY the table scrolls
   (header row stays put). Same idea as CompensationSettings.razor.css, without the tabs. */
.settings-fill[b-xdxzyu93rm] {
    display: flex;
    flex-direction: column;
    height: 100%;
    min-height: 0;
}

    .settings-fill > .card[b-xdxzyu93rm] {
        flex: 1 1 auto;
        min-height: 0;
    }

.settings-card-body[b-xdxzyu93rm] {
    display: flex;
    flex-direction: column;
    min-height: 0;
}

    .settings-card-body[b-xdxzyu93rm]  .ref-editor {
        flex: 1 1 auto;
        min-height: 0;
        display: flex;
        flex-direction: column;
    }

    /* overrides app.css's generic 60vh cap on .main-scroll .table-responsive */
    .settings-card-body[b-xdxzyu93rm]  .ref-editor .table-responsive {
        flex: 1 1 auto;
        min-height: 0;
        max-height: none;
        overflow-y: auto;
    }
