/* /Components/Layout/MainLayout.razor.rz.scp.css */
.page[b-hopnws37wx] {
    position: relative;
    display: flex;
    flex-direction: column;
}

main[b-hopnws37wx] {
    flex: 1;
}

.sidebar[b-hopnws37wx] {
    background-image: linear-gradient(180deg, rgb(5, 39, 103) 0%, #3a0647 70%);
}

.top-row[b-hopnws37wx] {
    background-color: var(--bop-top-row-bg);
    border-bottom: 1px solid var(--bop-top-row-border-color);
    justify-content: flex-end;
    height: 3.5rem;
    display: flex;
    align-items: center;
}

    .top-row[b-hopnws37wx]  a, .top-row[b-hopnws37wx]  .btn-link {
        white-space: nowrap;
        margin-left: 1.5rem;
        text-decoration: none;
    }

    .top-row[b-hopnws37wx]  a:hover, .top-row[b-hopnws37wx]  .btn-link:hover {
        text-decoration: underline;
    }

    .top-row[b-hopnws37wx]  a:first-child {
        overflow: hidden;
        text-overflow: ellipsis;
    }

@media (max-width: 640.98px) {
    .top-row[b-hopnws37wx] {
        justify-content: space-between;
    }

    .top-row[b-hopnws37wx]  a, .top-row[b-hopnws37wx]  .btn-link {
        margin-left: 0;
    }
}

@media (min-width: 641px) {
    .page[b-hopnws37wx] {
        flex-direction: row;
    }

    .sidebar[b-hopnws37wx] {
        width: 250px;
        height: 100vh;
        position: sticky;
        top: 0;

        /* Sticky positioning makes the sidebar its own stacking context, so the user flyout
           inside it cannot outrank page content on its own - and Bootstrap cards are
           position:relative and come later in tree order, which painted them ON TOP of the
           flyout (visible, but not clickable). The sidebar as a whole therefore has to sit
           above the content. 1020 is Bootstrap's fixed-element tier and stays below the Search
           page's filter fly-in (1030), which is meant to cover the content next to it. */
        z-index: 1020;
    }

    .top-row[b-hopnws37wx] {
        position: sticky;
        top: 0;
        z-index: 1;
    }

    .top-row.auth[b-hopnws37wx]  a:first-child {
        flex: 1;
        text-align: right;
        width: 0;
    }

    .top-row[b-hopnws37wx], article[b-hopnws37wx] {
        padding-left: 2rem !important;
        padding-right: 1.5rem !important;
    }
}

#blazor-error-ui[b-hopnws37wx] {
    color-scheme: light only;
    background: lightyellow;
    bottom: 0;
    box-shadow: 0 -1px 2px rgba(0, 0, 0, 0.2);
    box-sizing: border-box;
    display: none;
    left: 0;
    padding: 0.6rem 1.25rem 0.7rem 1.25rem;
    position: fixed;
    right: 0;

    /* Above everything the page can put in front of it: the sidebar (1020 - and its user flyout
       opens upwards, at the very bottom, which is exactly where this bar lives), the filter fly-in
       (1030) and the detail fly-in (1035). The one message which says the page is dead must not be
       the one thing that gets covered. */
    z-index: 1040;
}

/* Wide enough for the sidebar to stand BESIDE the content: the bar reports something that happened
   in the main section, so it starts where the main section starts. Spanning the whole window is
   what pushed its text under the sidebar's user flyout, where it could not be read at all. Below
   this breakpoint the sidebar is stacked above the content instead, and the full width is free. */
@media (min-width: 641px) {
    #blazor-error-ui[b-hopnws37wx] {
        left: 250px;
    }
}

    #blazor-error-ui .dismiss[b-hopnws37wx] {
        cursor: pointer;
        position: absolute;
        right: 0.75rem;
        top: 0.5rem;
    }
/* /Components/Layout/NavMenu.razor.rz.scp.css */
.navbar-toggler[b-cwatb7dg7s] {
    appearance: none;
    cursor: pointer;
    width: 3.5rem;
    height: 2.5rem;
    color: white;
    position: absolute;
    top: 0.5rem;
    right: 1rem;
    border: 1px solid rgba(255, 255, 255, 0.1);
    background: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%28255, 255, 255, 0.55%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e") no-repeat center/1.75rem rgba(255, 255, 255, 0.1);
}

.navbar-toggler:checked[b-cwatb7dg7s] {
    background-color: rgba(255, 255, 255, 0.5);
}

.top-row[b-cwatb7dg7s] {
    min-height: 3.5rem;
    background-color: rgba(0,0,0,0.4);
    /* Tighter than the nav items below (which sit at px-3/1rem, plus 1rem padding-top on the
       first item) - the logo should read as sitting right in the corner. */
    padding: 0.35rem 0 0.35rem 0.5rem;
}

.navbar-brand[b-cwatb7dg7s] {
    font-size: 1.1rem;
    display: inline-flex;
    align-items: center;
    margin: 0;
}

.navbar-brand-logo[b-cwatb7dg7s] {
    height: 2.6rem;
    width: auto;
    margin-right: 0.5rem;
}

/* Name over version, both against the logo's vertical middle. The tight line-height keeps the
   pair inside the logo's 2.6rem, so the top row does not grow for it. */
.navbar-brand-text[b-cwatb7dg7s] {
    display: flex;
    flex-direction: column;
    line-height: 1.15;
}

/* A caption, not a second name: small, quiet, never bold. */
.navbar-brand-version[b-cwatb7dg7s] {
    font-size: 0.7rem;
    font-weight: 400;
    opacity: 0.7;
    letter-spacing: 0.02em;
}

.bi[b-cwatb7dg7s] {
    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-cwatb7dg7s] {
    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");
}

/* Magnifier - the Search page (BOp_SSE full-text search over collected BCLog records). */
.bi-search-nav-menu[b-cwatb7dg7s] {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='white' class='bi bi-search' viewBox='0 0 16 16'%3E%3Cpath d='M11.742 10.344a6.5 6.5 0 1 0-1.397 1.398h-.001q.044.06.098.115l3.85 3.85a1 1 0 0 0 1.415-1.414l-3.85-3.85a1 1 0 0 0-.115-.1zM12 6.5a5.5 5.5 0 1 1-11 0 5.5 5.5 0 0 1 11 0z'/%3E%3C/svg%3E");
}

/* Activity/pulse line - the Status page (server health, conditions, background services). */
.bi-activity-nav-menu[b-cwatb7dg7s] {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='white' class='bi bi-activity' viewBox='0 0 16 16'%3E%3Cpath fill-rule='evenodd' d='M6 2a.5.5 0 0 1 .47.33L10 12.036l1.53-4.208A.5.5 0 0 1 12 7.5h3.5a.5.5 0 0 1 0 1h-3.15l-1.88 5.17a.5.5 0 0 1-.94 0L6 3.964 4.47 8.171A.5.5 0 0 1 4 8.5H.5a.5.5 0 0 1 0-1h3.15l1.88-5.17A.5.5 0 0 1 6 2'/%3E%3C/svg%3E");
}

/* Two opposing arrows - the Monitoring page (transport flow in and out of this server). */
.bi-arrow-left-right-nav-menu[b-cwatb7dg7s] {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='white' class='bi bi-arrow-left-right' viewBox='0 0 16 16'%3E%3Cpath fill-rule='evenodd' d='M1 11.5a.5.5 0 0 0 .5.5h11.793l-3.147 3.146a.5.5 0 0 0 .708.708l4-4a.5.5 0 0 0 0-.708l-4-4a.5.5 0 0 0-.708.708L13.293 11H1.5a.5.5 0 0 0-.5.5m14-7a.5.5 0 0 1-.5.5H2.707l3.147 3.146a.5.5 0 1 1-.708.708l-4-4a.5.5 0 0 1 0-.708l4-4a.5.5 0 1 1 .708.708L2.707 4H14.5a.5.5 0 0 1 .5.5'/%3E%3C/svg%3E");
}

/* Gear - the Configuration page. */
.bi-gear-fill-nav-menu[b-cwatb7dg7s] {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='white' class='bi bi-gear-fill' viewBox='0 0 16 16'%3E%3Cpath d='M9.405 1.05c-.413-1.4-2.397-1.4-2.81 0l-.1.34a1.464 1.464 0 0 1-2.105.872l-.31-.17c-1.283-.698-2.686.705-1.987 1.987l.169.311c.446.82.023 1.841-.872 2.105l-.34.1c-1.4.413-1.4 2.397 0 2.81l.34.1a1.464 1.464 0 0 1 .872 2.105l-.17.31c-.698 1.283.705 2.686 1.987 1.987l.311-.169a1.464 1.464 0 0 1 2.105.872l.1.34c.413 1.4 2.397 1.4 2.81 0l.1-.34a1.464 1.464 0 0 1 2.105-.872l.31.17c1.283.698 2.686-.705 1.987-1.987l-.169-.311a1.464 1.464 0 0 1 .872-2.105l.34-.1c1.4-.413 1.4-2.397 0-2.81l-.34-.1a1.464 1.464 0 0 1-.872-2.105l.17-.31c.698-1.283-.705-2.686-1.987-1.987l-.311.169a1.464 1.464 0 0 1-2.105-.872zM8 10.93a2.929 2.929 0 1 1 0-5.86 2.929 2.929 0 0 1 0 5.858z'/%3E%3C/svg%3E");
}

.bi-people-fill-nav-menu[b-cwatb7dg7s] {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='white' class='bi bi-people-fill' viewBox='0 0 16 16'%3E%3Cpath d='M7 14s-1 0-1-1 1-4 5-4 5 3 5 4-1 1-1 1zm4-6a3 3 0 1 0 0-6 3 3 0 0 0 0 6m-5.784 6A2.24 2.24 0 0 1 5 13c0-1.355.68-2.75 1.936-3.72A6.3 6.3 0 0 0 5 9c-4 0-5 3-5 4s1 1 1 1zM4.5 8a2.5 2.5 0 1 0 0-5 2.5 2.5 0 0 0 0 5'/%3E%3C/svg%3E");
}

.bi-box-arrow-left-nav-menu[b-cwatb7dg7s] {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='white' class='bi bi-box-arrow-left' viewBox='0 0 16 16'%3E%3Cpath fill-rule='evenodd' d='M6 12.5a.5.5 0 0 0 .5.5h8a.5.5 0 0 0 .5-.5v-9a.5.5 0 0 0-.5-.5h-8a.5.5 0 0 0-.5.5v2a.5.5 0 0 1-1 0v-2A1.5 1.5 0 0 1 6.5 2h8A1.5 1.5 0 0 1 16 3.5v9a1.5 1.5 0 0 1-1.5 1.5h-8A1.5 1.5 0 0 1 5 12.5v-2a.5.5 0 0 1 1 0z'/%3E%3Cpath fill-rule='evenodd' d='M.146 8.354a.5.5 0 0 1 0-.708l3-3a.5.5 0 1 1 .708.708L1.707 7.5H10.5a.5.5 0 0 1 0 1H1.707l2.147 2.146a.5.5 0 0 1-.708.708z'/%3E%3C/svg%3E");
}

.bi-person-fill-user-frame[b-cwatb7dg7s] {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='%23d7d7d7' viewBox='0 0 16 16'%3E%3Ccircle cx='8' cy='5' r='3'/%3E%3Cpath d='M3 14c0-3 2.5-5 5-5s5 2 5 5v0.5H3z'/%3E%3C/svg%3E");
    margin-right: 0.5rem;
}

/* The colored server-health box below the nav items (the DBModeller git-status-box pattern,
   fed from ServerStatusService.GetOverallHealth/-Text). */
/* The bottom cluster: pushed down as one block, whatever the nav list above it is long. */
.sidebar-bottom-cluster[b-cwatb7dg7s] {
    margin-top: auto;
}

/* The combined search is the last nav item before the health box, so it needs a little air
   between it and the log items above rather than the nav list's own spacing. */
.combined-search-item[b-cwatb7dg7s] {
    padding-bottom: 0.35rem;
}

.server-status-box[b-cwatb7dg7s] {
    margin: 0 0.75rem 0.5rem;
    padding: 0.55rem 0.85rem;
    border-radius: 4px;
    font-size: 0.85rem;
    line-height: 1.4;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.5rem;
    font-weight: 600;
}

/* Green: overall health Healthy. */
.server-status-box-ok[b-cwatb7dg7s] {
    background-color: #198754;
    color: #ffffff;
}

/* Yellow: overall health Warning (active warning conditions, nothing faulted). */
.server-status-box-warn[b-cwatb7dg7s] {
    background-color: #ffc107;
    color: #212529;
}

/* Red: overall health Error (an error condition or a faulted background service). */
.server-status-box-fail[b-cwatb7dg7s] {
    background-color: #dc3545;
    color: #ffffff;
}

/* Grey: health not determinable yet (e.g. right after process start). */
.server-status-box-unknown[b-cwatb7dg7s] {
    background-color: #495057;
    color: #f1f1f1;
}

.server-status-box-text[b-cwatb7dg7s] {
    overflow-wrap: anywhere;
}

/* The user box at the bottom of the sidebar doubles as the flyout trigger, so it is a real
   button (keyboard focusable) that only looks like the frame it replaced. */
.active-user-frame[b-cwatb7dg7s] {
    margin: 0.75rem;
    padding: 0.6rem 0.75rem;
    background-color: rgba(255, 255, 255, 0.08);
    border-radius: 6px;
    display: flex;
    align-items: center;
    width: calc(100% - 1.5rem);
    border: none;
    text-align: left;
    cursor: pointer;
}

.active-user-frame:hover[b-cwatb7dg7s] {
    background-color: rgba(255, 255, 255, 0.14);
}

/* Hover-opened flyout at the user box. Pure CSS on purpose: it has to work while the page is
   still statically prerendered (before the SignalR circuit connects), which a Blazor state flag
   would not. :focus-within keeps it reachable by keyboard and by tap, where there is no hover. */
.user-flyout[b-cwatb7dg7s] {
    position: relative;
}

/* Narrow screens have no room beside the sidebar, so there the menu opens above the box.
   The wide-screen rule below moves it out to the right instead. */
.user-flyout-menu[b-cwatb7dg7s] {
    /* Hidden by visibility rather than by display, because a menu which is not laid out cannot be
       given the grace period below - and without that period this menu was unreachable: it closed
       the instant the pointer left the user box, which is exactly what moving TOWARDS it does. */
    visibility: hidden;
    transition: visibility 0s linear 0.4s;

    position: absolute;
    bottom: 100%;
    left: 0.75rem;
    right: 0.75rem;
    z-index: 3;
    padding: 0.35rem 0;
    background-color: #2a1140;
    border: 1px solid rgba(255, 255, 255, 0.18);
    border-radius: 6px;
    box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.45);
}

/* Opens at once, closes after a moment: the delay is on the CLOSING side only (the open state
   resets it to zero), so crossing the gap between the box and the menu no longer loses it, and
   letting go of it still feels immediate enough. Once the pointer is on the menu the flyout is
   hovered again - the menu is a child of it in the markup, whatever its position says. */
.user-flyout:hover .user-flyout-menu[b-cwatb7dg7s],
.user-flyout:focus-within .user-flyout-menu[b-cwatb7dg7s] {
    visibility: visible;
    transition-delay: 0s;
}

/* NavLink renders its anchor inside a child component, whose markup carries no scope
   attribute - ::deep is what reaches it (the same reason the nav items above need it). The
   plain selector covers the theme and logout buttons, which are this component's own markup. */
.user-flyout-item[b-cwatb7dg7s],
.user-flyout-menu[b-cwatb7dg7s]  a.user-flyout-item {
    display: flex;
    align-items: center;
    width: 100%;
    padding: 0.5rem 0.85rem;
    background: none;
    border: none;
    color: #d7d7d7;
    font-size: 0.85rem;
    text-align: left;
    text-decoration: none;
    cursor: pointer;
}

.user-flyout-item:hover[b-cwatb7dg7s],
.user-flyout-menu[b-cwatb7dg7s]  a.user-flyout-item:hover {
    background-color: rgba(255, 255, 255, 0.12);
    color: white;
}

.user-flyout-menu[b-cwatb7dg7s]  a.user-flyout-item.active {
    background-color: rgba(255, 255, 255, 0.25);
    color: white;
}

.user-flyout-divider[b-cwatb7dg7s] {
    height: 1px;
    margin: 0.35rem 0.5rem;
    background-color: rgba(255, 255, 255, 0.18);
}

/* Caret pointing up at the menu the box opens. */
.user-flyout-caret[b-cwatb7dg7s] {
    margin-left: 0.35rem;
    border-left: 0.3rem solid transparent;
    border-right: 0.3rem solid transparent;
    border-bottom: 0.35rem solid #d7d7d7;
}

.active-user-frame-name[b-cwatb7dg7s] {
    flex: 1 1 auto;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    color: #d7d7d7;
    font-size: 0.85rem;
}

.bi-sun-fill-nav-menu[b-cwatb7dg7s] {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='%23d7d7d7' class='bi bi-sun-fill' viewBox='0 0 16 16'%3E%3Cpath d='M8 12a4 4 0 1 0 0-8 4 4 0 0 0 0 8M8 0a.5.5 0 0 1 .5.5v2a.5.5 0 0 1-1 0v-2A.5.5 0 0 1 8 0m0 13a.5.5 0 0 1 .5.5v2a.5.5 0 0 1-1 0v-2a.5.5 0 0 1 .5-.5m8-5a.5.5 0 0 1-.5.5h-2a.5.5 0 0 1 0-1h2a.5.5 0 0 1 .5.5M3 8a.5.5 0 0 1-.5.5h-2a.5.5 0 0 1 0-1h2A.5.5 0 0 1 3 8m10.657-5.657a.5.5 0 0 1 0 .707l-1.414 1.415a.5.5 0 1 1-.707-.708l1.414-1.414a.5.5 0 0 1 .707 0m-9.193 9.193a.5.5 0 0 1 0 .707L3.05 13.657a.5.5 0 0 1-.707-.707l1.414-1.414a.5.5 0 0 1 .707 0m9.193 2.121a.5.5 0 0 1-.707 0l-1.414-1.414a.5.5 0 0 1 .707-.707l1.414 1.414a.5.5 0 0 1 0 .707M4.464 4.465a.5.5 0 0 1-.707 0L2.343 3.05a.5.5 0 1 1 .707-.707L4.464 3.757a.5.5 0 0 1 0 .708'/%3E%3C/svg%3E");
}

.bi-moon-fill-nav-menu[b-cwatb7dg7s] {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='%23d7d7d7' class='bi bi-moon-fill' viewBox='0 0 16 16'%3E%3Cpath d='M6 .278a.77.77 0 0 1 .08.858 7.2 7.2 0 0 0-.878 3.46c0 4.021 3.278 7.277 7.318 7.277q.792-.001 1.533-.16a.79.79 0 0 1 .81.316.73.73 0 0 1-.031.893A8.35 8.35 0 0 1 8.344 16C3.734 16 0 12.286 0 7.71 0 4.266 2.114 1.312 5.124.06A.75.75 0 0 1 6 .278'/%3E%3C/svg%3E");
}

.active-user-frame-logout-form[b-cwatb7dg7s] {
    margin: 0;
}

.nav-item[b-cwatb7dg7s] {
    font-size: 0.9rem;
    padding-bottom: 0.5rem;
}

    .nav-item:first-of-type[b-cwatb7dg7s] {
        padding-top: 1rem;
    }

    .nav-item:last-of-type[b-cwatb7dg7s] {
        padding-bottom: 1rem;
    }

    .nav-item[b-cwatb7dg7s]  .nav-link {
        color: #d7d7d7;
        background: none;
        border: none;
        border-radius: 4px;
        height: 3rem;
        display: flex;
        align-items: center;
        line-height: 3rem;
        width: 100%;
    }

.nav-item[b-cwatb7dg7s]  a.active {
    background-color: rgba(255,255,255,0.37);
    color: white;
}

.nav-item[b-cwatb7dg7s]  .nav-link:hover {
    background-color: rgba(255,255,255,0.1);
    color: white;
}

.nav-scrollable[b-cwatb7dg7s] {
    display: none;
}

.navbar-toggler:checked ~ .nav-scrollable[b-cwatb7dg7s] {
    display: flex;
    flex-direction: column;
}

@media (min-width: 641px) {
    .navbar-toggler[b-cwatb7dg7s] {
        display: none;
    }

    .nav-scrollable[b-cwatb7dg7s] {
        /* Never collapse the sidebar for wide screens */
        display: flex;
        flex-direction: column;

        /* Allow sidebar to scroll for tall menus */
        height: calc(100vh - 3.5rem);
        overflow-y: auto;
    }
}

.bi-terminal-nav-menu[b-cwatb7dg7s] {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='white' class='bi bi-terminal' viewBox='0 0 16 16'%3E%3Cpath d='M6 9a.5.5 0 0 1 .5-.5h3a.5.5 0 0 1 0 1h-3A.5.5 0 0 1 6 9M3.854 4.146a.5.5 0 1 0-.708.708L4.793 6.5 3.146 8.146a.5.5 0 1 0 .708.708l2-2a.5.5 0 0 0 0-.708z'/%3E%3Cpath d='M2 1a2 2 0 0 0-2 2v10a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V3a2 2 0 0 0-2-2zm12 1a1 1 0 0 1 1 1v10a1 1 0 0 1-1 1H2a1 1 0 0 1-1-1V3a1 1 0 0 1 1-1z'/%3E%3C/svg%3E");
}

/* Audit log: a shield with a lock - the only log whose content is protected by a key. */
.bi-shield-lock-nav-menu[b-cwatb7dg7s] {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='white' viewBox='0 0 16 16'%3E%3Cpath d='M8 0c-.69 0-1.843.265-2.928.56-1.11.3-2.229.655-2.887.87a1.54 1.54 0 0 0-1.044 1.262c-.596 3.73.257 6.517 1.451 8.301 1.176 1.758 2.673 2.63 3.408 2.94.34.144.729.144 1.068 0 .735-.31 2.232-1.182 3.408-2.94 1.194-1.784 2.047-4.57 1.451-8.301A1.54 1.54 0 0 0 10.883 1.43c-.658-.215-1.777-.57-2.887-.87C6.911.265 5.758 0 8 0zm0 5a1.5 1.5 0 0 1 1.5 1.5V7h.5a1 1 0 0 1 1 1v2a1 1 0 0 1-1 1H6a1 1 0 0 1-1-1V8a1 1 0 0 1 1-1h.5v-.5A1.5 1.5 0 0 1 8 5zm0 1a.5.5 0 0 0-.5.5V7h1v-.5A.5.5 0 0 0 8 6z'/%3E%3C/svg%3E");
}

/* Wide screens: the menu flies out to the RIGHT of the sidebar, level with the user box that
   opens it, instead of covering the sidebar above it. Fixed rather than absolute on purpose -
   .nav-scrollable scrolls (overflow-y: auto), and an absolutely positioned child would be
   clipped at the sidebar edge. 250px is the sidebar width from MainLayout.razor.css; the
   0.75rem bottom offset is the user box's own margin, so the two line up. */
@media (min-width: 641px) {
    .user-flyout-menu[b-cwatb7dg7s] {
        position: fixed;
        left: 250px;
        right: auto;
        bottom: 0.75rem;
        min-width: 14rem;
    }

    /* The strip the pointer has to cross to get there: the user box ends 0.75rem short of the
       sidebar edge (its own margin) and the menu starts at the edge, so between them lies a sliver
       which belongs to neither - and hover over neither means closed. This bridges it as part of
       the menu itself, so the crossing never interrupts the hover. Invisible, and hidden with the
       menu (visibility inherits), so it takes no clicks while the flyout is closed. */
    .user-flyout-menu[b-cwatb7dg7s]::before {
        content: "";
        position: absolute;
        top: 0;
        bottom: 0;
        left: -0.75rem;
        width: 0.75rem;
    }
}

/* Info circle - the About menu point. */
.bi-info-circle-nav-menu[b-cwatb7dg7s] {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='%23d7d7d7' viewBox='0 0 16 16'%3E%3Cpath d='M8 15A7 7 0 1 1 8 1a7 7 0 0 1 0 14m0 1A8 8 0 1 0 8 0a8 8 0 0 0 0 16'/%3E%3Cpath d='m8.93 6.588-2.29.287-.082.38.45.083c.294.07.352.176.288.469l-.738 3.468c-.194.897.105 1.319.995 1.319.69 0 1.19-.319 1.416-.906l.088-.416c-.156.138-.384.194-.535.194-.213 0-.29-.15-.235-.414zM9 4.5a1 1 0 1 1-2 0 1 1 0 0 1 2 0'/%3E%3C/svg%3E");
}

/* Journal with lines - the Business log page (BCLog records: what happened to the objects). */
.bi-journal-text-nav-menu[b-cwatb7dg7s] {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='white' viewBox='0 0 16 16'%3E%3Cpath d='M5 10.5a.5.5 0 0 1 .5-.5h2a.5.5 0 0 1 0 1h-2a.5.5 0 0 1-.5-.5m0-2a.5.5 0 0 1 .5-.5h5a.5.5 0 0 1 0 1h-5a.5.5 0 0 1-.5-.5m0-2a.5.5 0 0 1 .5-.5h5a.5.5 0 0 1 0 1h-5a.5.5 0 0 1-.5-.5m0-2a.5.5 0 0 1 .5-.5h5a.5.5 0 0 1 0 1h-5a.5.5 0 0 1-.5-.5'/%3E%3Cpath d='M3 0h10a2 2 0 0 1 2 2v12a2 2 0 0 1-2 2H3a2 2 0 0 1-2-2V2a2 2 0 0 1 2-2m0 1a1 1 0 0 0-1 1v12a1 1 0 0 0 1 1h10a1 1 0 0 0 1-1V2a1 1 0 0 0-1-1z'/%3E%3C/svg%3E");
}

/* The uplink monitor lives at the bottom, between the health box and the user box - so it needs
   the nav-item look without the first/last-of-type padding the nav list above gives its items. */
.uplink-monitor-item[b-cwatb7dg7s] {
    padding-top: 0;
    padding-bottom: 0.5rem;
}
/* /Components/Layout/ReconnectModal.razor.rz.scp.css */
.components-reconnect-first-attempt-visible[b-ej46j641yf],
.components-reconnect-repeated-attempt-visible[b-ej46j641yf],
.components-reconnect-failed-visible[b-ej46j641yf],
.components-pause-visible[b-ej46j641yf],
.components-resume-failed-visible[b-ej46j641yf],
.components-rejoining-animation[b-ej46j641yf] {
    display: none;
}

#components-reconnect-modal.components-reconnect-show .components-reconnect-first-attempt-visible[b-ej46j641yf],
#components-reconnect-modal.components-reconnect-show .components-rejoining-animation[b-ej46j641yf],
#components-reconnect-modal.components-reconnect-paused .components-pause-visible[b-ej46j641yf],
#components-reconnect-modal.components-reconnect-resume-failed .components-resume-failed-visible[b-ej46j641yf],
#components-reconnect-modal.components-reconnect-retrying[b-ej46j641yf],
#components-reconnect-modal.components-reconnect-retrying .components-reconnect-repeated-attempt-visible[b-ej46j641yf],
#components-reconnect-modal.components-reconnect-retrying .components-rejoining-animation[b-ej46j641yf],
#components-reconnect-modal.components-reconnect-failed[b-ej46j641yf],
#components-reconnect-modal.components-reconnect-failed .components-reconnect-failed-visible[b-ej46j641yf] {
    display: block;
}


#components-reconnect-modal[b-ej46j641yf] {
    background-color: white;
    width: 20rem;
    margin: 20vh auto;
    padding: 2rem;
    border: 0;
    border-radius: 0.5rem;
    box-shadow: 0 3px 6px 2px rgba(0, 0, 0, 0.3);
    opacity: 0;
    transition: display 0.5s allow-discrete, overlay 0.5s allow-discrete;
    animation: components-reconnect-modal-fadeOutOpacity-b-ej46j641yf 0.5s both;
    &[open]

{
    animation: components-reconnect-modal-slideUp-b-ej46j641yf 1.5s cubic-bezier(.05, .89, .25, 1.02) 0.3s, components-reconnect-modal-fadeInOpacity-b-ej46j641yf 0.5s ease-in-out 0.3s;
    animation-fill-mode: both;
}

}

#components-reconnect-modal[b-ej46j641yf]::backdrop {
    background-color: rgba(0, 0, 0, 0.4);
    animation: components-reconnect-modal-fadeInOpacity-b-ej46j641yf 0.5s ease-in-out;
    opacity: 1;
}

@keyframes components-reconnect-modal-slideUp-b-ej46j641yf {
    0% {
        transform: translateY(30px) scale(0.95);
    }

    100% {
        transform: translateY(0);
    }
}

@keyframes components-reconnect-modal-fadeInOpacity-b-ej46j641yf {
    0% {
        opacity: 0;
    }

    100% {
        opacity: 1;
    }
}

@keyframes components-reconnect-modal-fadeOutOpacity-b-ej46j641yf {
    0% {
        opacity: 1;
    }

    100% {
        opacity: 0;
    }
}

.components-reconnect-container[b-ej46j641yf] {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 1rem;
}

#components-reconnect-modal p[b-ej46j641yf] {
    margin: 0;
    text-align: center;
}

#components-reconnect-modal button[b-ej46j641yf] {
    border: 0;
    background-color: #6b9ed2;
    color: white;
    padding: 4px 24px;
    border-radius: 4px;
}

    #components-reconnect-modal button:hover[b-ej46j641yf] {
        background-color: #3b6ea2;
    }

    #components-reconnect-modal button:active[b-ej46j641yf] {
        background-color: #6b9ed2;
    }

.components-rejoining-animation[b-ej46j641yf] {
    position: relative;
    width: 80px;
    height: 80px;
}

    .components-rejoining-animation div[b-ej46j641yf] {
        position: absolute;
        border: 3px solid #0087ff;
        opacity: 1;
        border-radius: 50%;
        animation: components-rejoining-animation-b-ej46j641yf 1.5s cubic-bezier(0, 0.2, 0.8, 1) infinite;
    }

        .components-rejoining-animation div:nth-child(2)[b-ej46j641yf] {
            animation-delay: -0.5s;
        }

@keyframes components-rejoining-animation-b-ej46j641yf {
    0% {
        top: 40px;
        left: 40px;
        width: 0;
        height: 0;
        opacity: 0;
    }

    4.9% {
        top: 40px;
        left: 40px;
        width: 0;
        height: 0;
        opacity: 0;
    }

    5% {
        top: 40px;
        left: 40px;
        width: 0;
        height: 0;
        opacity: 1;
    }

    100% {
        top: 0px;
        left: 0px;
        width: 80px;
        height: 80px;
        opacity: 0;
    }
}
/* /Components/Pages/Search.razor.rz.scp.css */
.logmessage-row[b-u5qm39fyc4] {
    cursor: pointer;
}

.logmessage-detail-row pre[b-u5qm39fyc4] {
    white-space: pre-wrap;
    word-break: break-word;
}

.context-chip[b-u5qm39fyc4] {
    margin-right: 0.25rem;
}

.search-note[b-u5qm39fyc4] {
    margin-bottom: 0;
}
/* /Components/Pages/Status.razor.rz.scp.css */
.status-card[b-cd3fkmontd] {
    min-width: 16rem;
    max-width: 24rem;
}
