@import '_content/Microsoft.FluentUI.AspNetCore.Components/Microsoft.FluentUI.AspNetCore.Components.lcdo7z9xd2.bundle.scp.css';

/* /Components/Layout/AppFooter.razor.rz.scp.css */
.app-footer[b-4olotjg0yk] {
    position: fixed;
    bottom: 0;
    left: 0;
    right: 0;
    display: flex;
    align-items: stretch;
    background: var(--neutral-layer-1);
    border-top: 1px solid var(--neutral-stroke-rest, #e0e0e0);
    z-index: 100;
    min-height: 56px;
}

.app-footer-nav[b-4olotjg0yk] {
    width: 250px;
    flex-shrink: 0;
    display: flex;
    align-items: center;
    border-right: 1px solid var(--neutral-stroke-rest, #e0e0e0);
    overflow: hidden;
    transition: width 0.15s ease, border-right-color 0.15s ease;
}

.app-footer-nav--collapsed[b-4olotjg0yk] {
    width: 48px;
}

/* Small displays: this column doesn't track the hamburger's expand state — it's just a
   link to the homepage, unrelated to the nav overlay's own open/closed state, and nav is
   an overlay there rather than a real column beside content for it to line up the width
   of anyway. Stays a small icon-only link at all times instead of expanding to 250px
   whenever the (unrelated) nav happens to be open. */
@media (max-width: 900px) {
    .app-footer-nav[b-4olotjg0yk] {
        width: 48px;
    }

    .app-footer-version[b-4olotjg0yk] {
        padding: 0 0.5rem;
        justify-content: center;
    }

    .app-footer-version span[b-4olotjg0yk] {
        display: none;
    }
}

.app-footer-version[b-4olotjg0yk] {
    display: flex;
    align-items: center;
    gap: 0.625rem;
    padding: 0.625rem 0.75rem;
    text-decoration: none;
    color: var(--neutral-foreground-rest);
    white-space: nowrap;
    width: 100%;
    font-size: 0.8125rem;
    opacity: 0.75;
}

.app-footer-version:hover[b-4olotjg0yk] {
    background-color: var(--neutral-fill-stealth-hover);
    opacity: 1;
}

.app-footer-nav--collapsed .app-footer-version span[b-4olotjg0yk] {
    display: none;
}

.app-footer-nav--collapsed .app-footer-version[b-4olotjg0yk] {
    padding: 0 0.5rem;
    justify-content: center;
}

.app-footer-content[b-4olotjg0yk] {
    flex: 1;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0.5rem 1rem;
}
/* /Components/Layout/Footer.razor.rz.scp.css */
.footer-subtle[b-szrj0niqgp] {
    color: var(--neutral-foreground-hint);
    text-decoration: none;
}

.footer-subtle:hover[b-szrj0niqgp] {
    color: var(--neutral-foreground-rest);
    text-decoration: underline;
}
/* /Components/Layout/MainLayout.razor.rz.scp.css */
.app-shell[b-90w9dtohbv] {
    min-height: calc(100dvh - var(--app-header-height) - var(--app-secondary-bar-height));
    min-width: 0;
}

.app-body[b-90w9dtohbv] {
    flex: 1 1 auto;
    min-width: 0;
}

.app-content[b-90w9dtohbv] {
    display: flex;
    flex-direction: column;
    min-height: calc(100dvh - var(--app-header-height) - var(--app-secondary-bar-height));
    min-width: 0;
}

.app-page[b-90w9dtohbv] {
    flex: 1;
    padding: 1.5rem;
    padding-bottom: calc(1.5rem + 56px);
}

/* Secondary bar — sits just below the header, hosts the current page's breadcrumb (set
   via BreadcrumbState, rendered once here instead of inside every page). Background is
   transparent on standard displays, showing body's own background through; explicit on
   small displays where the bar goes sticky and content can scroll behind it. */
.secondary-bar[b-90w9dtohbv] {
    display: flex;
    align-items: center;
    min-height: var(--app-secondary-bar-height);
    border-bottom: 1px solid var(--neutral-stroke-rest, #e0e0e0);
    padding: 0 1.5rem;
    background: transparent;
}

@media (max-width: 900px) {
    .secondary-bar[b-90w9dtohbv] {
        position: sticky;
        top: var(--app-header-height);
        z-index: 1002;
        background: var(--neutral-layer-1);
    }
}

#blazor-error-ui[b-90w9dtohbv] {
    color-scheme: light only;
    background: #8a1c1c;
    bottom: 0;
    box-shadow: 0 -1px 2px rgba(0, 0, 0, 0.2);
    box-sizing: border-box;
    color: white;
    display: none;
    left: 0;
    padding: 0.75rem 1.25rem;
    position: fixed;
    width: 100%;
    z-index: 1000;
}

#blazor-error-ui .dismiss[b-90w9dtohbv] {
    cursor: pointer;
    position: absolute;
    right: 0.75rem;
    top: 0.5rem;
}
/* /Components/Layout/NavMenu.razor.rz.scp.css */
.nav-wrapper[b-754z4phegd] {
    display: flex;
    flex-direction: column;
    /* Clears the fixed footer's height (see AppFooter.razor.css) — without it the last
       item(s) end up permanently stuck under the footer with no way to scroll them
       above it. */
    padding-bottom: 56px;
}

.nav-backdrop[b-754z4phegd] {
    display: none;
}

/* Collapsed nav takes no space at all, at any display size — instead of a permanently
   reserved rail. */
.nav-wrapper--collapsed[b-754z4phegd] {
    display: none;
}

/* Small displays: expanded nav overlays the page content instead of pushing it aside,
   with a tap-to-dismiss backdrop. Standard displays are unaffected: expanded nav stays
   a persistent sidebar beside the content, same as before. */
@media (max-width: 900px) {
    .nav-wrapper--expanded[b-754z4phegd] {
        position: fixed;
        top: calc(var(--app-header-height) + var(--app-secondary-bar-height));
        left: 0;
        bottom: 0;
        z-index: 1000;
        overflow-y: auto;
        background: var(--neutral-layer-1);
        box-shadow: 4px 0 16px rgba(0, 0, 0, 0.35);
    }

    .nav-backdrop[b-754z4phegd] {
        display: block;
        position: fixed;
        top: calc(var(--app-header-height) + var(--app-secondary-bar-height));
        left: 0;
        right: 0;
        bottom: 0;
        background: rgba(0, 0, 0, 0.4);
        z-index: 999;
    }
}
/* /Components/Pages/About.razor.rz.scp.css */
.about-card[b-sg4ihi6io9] {
    max-width: 32rem;
    padding: 1.5rem;
}
