/* /Components/Layout/CustomerNavMenu.razor.rz.scp.css */
/* Icons for the customer portal nav. Blazor CSS isolation is per-component, so the icon classes
   used by CustomerNavMenu must be defined here (they can't inherit NavMenu.razor.css). */

.bi[b-6m0j6h8ce1] {
    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-6m0j6h8ce1] {
    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-building-nav-menu[b-6m0j6h8ce1] {
    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='M4 2.5a.5.5 0 0 1 .5-.5h1a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-.5.5h-1a.5.5 0 0 1-.5-.5zm3 0a.5.5 0 0 1 .5-.5h1a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-.5.5h-1a.5.5 0 0 1-.5-.5zm3.5-.5a.5.5 0 0 0-.5.5v1a.5.5 0 0 0 .5.5h1a.5.5 0 0 0 .5-.5v-1a.5.5 0 0 0-.5-.5zM4 5.5a.5.5 0 0 1 .5-.5h1a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-.5.5h-1a.5.5 0 0 1-.5-.5zM7.5 5a.5.5 0 0 0-.5.5v1a.5.5 0 0 0 .5.5h1a.5.5 0 0 0 .5-.5v-1a.5.5 0 0 0-.5-.5zm2.5.5a.5.5 0 0 1 .5-.5h1a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-.5.5h-1a.5.5 0 0 1-.5-.5zM4.5 8a.5.5 0 0 0-.5.5v1a.5.5 0 0 0 .5.5h1a.5.5 0 0 0 .5-.5v-1a.5.5 0 0 0-.5-.5zm2.5.5a.5.5 0 0 1 .5-.5h1a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-.5.5h-1a.5.5 0 0 1-.5-.5zm3.5-.5a.5.5 0 0 0-.5.5v1a.5.5 0 0 0 .5.5h1a.5.5 0 0 0 .5-.5v-1a.5.5 0 0 0-.5-.5z'/%3E%3Cpath d='M2 1a1 1 0 0 1 1-1h10a1 1 0 0 1 1 1v14a1 1 0 0 1-1 1H3a1 1 0 0 1-1-1zm11 0H3v14h3v-2.5a.5.5 0 0 1 .5-.5h3a.5.5 0 0 1 .5.5V15h3z'/%3E%3C/svg%3E");
}

.bi-list-nested-nav-menu[b-6m0j6h8ce1] {
    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");
}

.bi-folder-fill-nav-menu[b-6m0j6h8ce1] {
    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='M9.828 3h3.982a2 2 0 0 1 1.992 2.181l-.637 7A2 2 0 0 1 13.174 14H2.825a2 2 0 0 1-1.991-1.819l-.637-7a2 2 0 0 1 .342-1.31L.5 3a2 2 0 0 1 2-2h3.672a2 2 0 0 1 1.414.586l.828.828A2 2 0 0 0 9.828 3m-8.322.12q.322-.119.684-.12h5.396l-.707-.707A1 1 0 0 0 6.172 2H2.5a1 1 0 0 0-1 .981z'/%3E%3C/svg%3E");
}


/* Referenced by this nav but never defined here — Projects and Sign Out rendered with blank
   icons. Copied verbatim from NavMenu.razor.css; CSS isolation is per-component, so they cannot
   be inherited. */
.bi-kanban-fill-nav-menu[b-6m0j6h8ce1] {
    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='M2.5 0A2.5 2.5 0 0 0 0 2.5v11A2.5 2.5 0 0 0 2.5 16h11a2.5 2.5 0 0 0 2.5-2.5v-11A2.5 2.5 0 0 0 13.5 0zM4 4a1 1 0 0 1 1-1h1a1 1 0 0 1 1 1v5a1 1 0 0 1-1 1H5a1 1 0 0 1-1-1zm5-1h1a1 1 0 0 1 1 1v8a1 1 0 0 1-1 1H9a1 1 0 0 1-1-1V4a1 1 0 0 1 1-1'/%3E%3C/svg%3E");
}

.bi-box-arrow-right-nav-menu[b-6m0j6h8ce1] {
    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 fill-rule='evenodd' d='M10 12.5a.5.5 0 0 1-.5.5h-8a.5.5 0 0 1-.5-.5v-9a.5.5 0 0 1 .5-.5h8a.5.5 0 0 1 .5.5v2a.5.5 0 0 0 1 0v-2A1.5 1.5 0 0 0 9.5 2h-8A1.5 1.5 0 0 0 0 3.5v9A1.5 1.5 0 0 0 1.5 14h8a1.5 1.5 0 0 0 1.5-1.5v-2a.5.5 0 0 0-1 0z'/%3E%3Cpath fill-rule='evenodd' d='M15.854 8.354a.5.5 0 0 0 0-.708l-3-3a.5.5 0 0 0-.708.708L14.293 7.5H5.5a.5.5 0 0 0 0 1h8.793l-2.147 2.146a.5.5 0 0 0 .708.708z'/%3E%3C/svg%3E");
}
/* /Components/Layout/MainLayout.razor.rz.scp.css */
/* Sidebar layout: the NavMenu column sits on the left, content fills the rest of the row. */
.page[b-6k1hphtdgq] {
    position: relative;
    display: flex;
    flex-direction: row;
    align-items: stretch;
    min-height: 100vh;
}

/* min-width:0 is load-bearing, not tidying. A flex item defaults to min-width:auto, so one wide
   child — a data table, a long code line — makes main refuse to shrink and pushes the whole row
   wider than the viewport, which scrolls the SIDEBAR off screen horizontally. */
main[b-6k1hphtdgq] {
    flex: 1 1 auto;
    min-width: 0;
}

.content[b-6k1hphtdgq] {
    padding-top: 1.25rem;
}

/* NOTE: #blazor-error-ui styling lives in the GLOBAL wwwroot/app.css — it must NOT be scoped to a single
   layout, or the banner won't be hidden on the other layout (the customer portal uses CustomerLayout). */
/* /Components/Layout/NavMenu.razor.rz.scp.css */
/* ---- Left sidebar navigation ----
   Sticky full-height column. The gradient runs vertically now (it ran horizontally as a top bar).
   Its own scrollbar: with every group expanded the menu is taller than a laptop screen, and letting
   it scroll the PAGE instead would drag the content out of view while someone hunts for a link. */
.sidenav[b-inz7bzjtrl] {
    display: flex;
    flex-direction: column;
    flex: 0 0 15.5rem;
    width: 15.5rem;
    /* flex-start + a fixed 100vh, not stretch: the column must be exactly the viewport tall so it can
       stick while its own content scrolls. Stretching it to the page height instead would make the
       menu scroll away with the page on any long report. */
    align-self: flex-start;
    position: sticky;
    top: 0;
    height: 100vh;
    overflow-y: auto;
    overflow-x: hidden;
    background-image: linear-gradient(180deg, rgb(5, 39, 103) 0%, #3a0647 100%);
    color: #d7d7d7;
    z-index: 1030;
}

.sidenav-head[b-inz7bzjtrl] {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    padding: 0.6rem 0.5rem 0.6rem 0.6rem;
    border-bottom: 1px solid rgba(255,255,255,0.15);
}

.sidenav-brand[b-inz7bzjtrl] {
    font-size: 1.05rem;
    font-weight: 600;
    color: #fff;
    text-decoration: none;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

    .sidenav-brand:hover[b-inz7bzjtrl] { color: #fff; }

/* Rail toggle. Kept visible in the collapsed state — it is the only way back. */
.sidenav-toggle[b-inz7bzjtrl] {
    flex: 0 0 auto;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 2rem;
    height: 2rem;
    padding: 0;
    background: transparent;
    border: 1px solid rgba(255,255,255,0.2);
    border-radius: 4px;
    cursor: pointer;
}

    .sidenav-toggle:hover[b-inz7bzjtrl] { background-color: rgba(255,255,255,0.12); }

    /* The icon carries its own margin for use beside link text; centred in the button it must not. */
    .sidenav-toggle .bi[b-inz7bzjtrl] { margin-right: 0; }

/* ---- Collapsed: a narrow rail holding only the toggle ---- */
.sidenav.is-collapsed[b-inz7bzjtrl] {
    flex-basis: 2.9rem;
    width: 2.9rem;
    overflow: visible;
}

    .sidenav.is-collapsed .sidenav-brand[b-inz7bzjtrl],
    .sidenav.is-collapsed .sidenav-body[b-inz7bzjtrl] {
        display: none;
    }

    .sidenav.is-collapsed .sidenav-head[b-inz7bzjtrl] {
        padding: 0.6rem 0.45rem;
        border-bottom: none;
    }

.sidenav-body[b-inz7bzjtrl] {
    display: flex;
    flex-direction: column;
    flex: 1 1 auto;
    padding: 0.4rem 0.4rem 0.75rem;
    gap: 0.1rem;
}

.bi[b-inz7bzjtrl] {
    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-inz7bzjtrl] {
    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-inz7bzjtrl] {
    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-inz7bzjtrl] {
    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");
}

.bi-speedometer2-nav-menu[b-inz7bzjtrl] {
    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 4a.5.5 0 0 1 .5.5V6a.5.5 0 0 1-1 0V4.5A.5.5 0 0 1 8 4M3.732 5.732a.5.5 0 0 1 .707 0l.915.914a.5.5 0 1 1-.708.708l-.914-.915a.5.5 0 0 1 0-.707M2 10a.5.5 0 0 1 .5-.5h1.5a.5.5 0 0 1 0 1H2.5A.5.5 0 0 1 2 10m9.5 0a.5.5 0 0 1 .5-.5H13a.5.5 0 0 1 0 1h-1a.5.5 0 0 1-.5-.5m.754-4.246a.39.39 0 0 0-.527-.02L7.547 9.31a.91.91 0 1 0 1.302 1.258l3.434-4.297a.39.39 0 0 0-.029-.518z'/%3E%3Cpath fill-rule='evenodd' d='M0 10a8 8 0 1 1 15.547 2.661c-.442 1.253-1.845 1.602-2.932 1.25C11.309 13.488 9.475 13 8 13c-1.474 0-3.31.488-4.615.911-1.087.352-2.49.003-2.932-1.25A8 8 0 0 1 0 10m8-7a7 7 0 0 0-6.603 9.329c.203.575.923.876 1.68.63C4.397 12.533 6.358 12 8 12s3.604.532 4.923.96c.757.246 1.477-.055 1.68-.63A7 7 0 0 0 8 3'/%3E%3C/svg%3E");
}

.bi-building-nav-menu[b-inz7bzjtrl] {
    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='M4 2.5a.5.5 0 0 1 .5-.5h1a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-.5.5h-1a.5.5 0 0 1-.5-.5zm3 0a.5.5 0 0 1 .5-.5h1a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-.5.5h-1a.5.5 0 0 1-.5-.5zm3.5-.5a.5.5 0 0 0-.5.5v1a.5.5 0 0 0 .5.5h1a.5.5 0 0 0 .5-.5v-1a.5.5 0 0 0-.5-.5zM4 5.5a.5.5 0 0 1 .5-.5h1a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-.5.5h-1a.5.5 0 0 1-.5-.5zM7.5 5a.5.5 0 0 0-.5.5v1a.5.5 0 0 0 .5.5h1a.5.5 0 0 0 .5-.5v-1a.5.5 0 0 0-.5-.5zm2.5.5a.5.5 0 0 1 .5-.5h1a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-.5.5h-1a.5.5 0 0 1-.5-.5zM4.5 8a.5.5 0 0 0-.5.5v1a.5.5 0 0 0 .5.5h1a.5.5 0 0 0 .5-.5v-1a.5.5 0 0 0-.5-.5zm2.5.5a.5.5 0 0 1 .5-.5h1a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-.5.5h-1a.5.5 0 0 1-.5-.5zm3.5-.5a.5.5 0 0 0-.5.5v1a.5.5 0 0 0 .5.5h1a.5.5 0 0 0 .5-.5v-1a.5.5 0 0 0-.5-.5z'/%3E%3Cpath d='M2 1a1 1 0 0 1 1-1h10a1 1 0 0 1 1 1v14a1 1 0 0 1-1 1H3a1 1 0 0 1-1-1zm11 0H3v14h3v-2.5a.5.5 0 0 1 .5-.5h3a.5.5 0 0 1 .5.5V15h3z'/%3E%3C/svg%3E");
}

.bi-clock-history-nav-menu[b-inz7bzjtrl] {
    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.515 1.019A7 7 0 0 0 8 1V0a8 8 0 0 1 .589.022zm2.004.45a7 7 0 0 0-.985-.299l.219-.976q.576.129 1.126.342zm1.37.71a7 7 0 0 0-.439-.27l.493-.87a8 8 0 0 1 .979.654l-.615.789a7 7 0 0 0-.418-.302zm1.834 1.79a7 7 0 0 0-.653-.796l.724-.69q.406.429.747.91zm.744 1.352a7 7 0 0 0-.214-.468l.893-.45a8 8 0 0 1 .45 1.088l-.95.313a7 7 0 0 0-.179-.483m.53 2.507a7 7 0 0 0-.1-1.025l.985-.17q.1.58.116 1.17zm-.131 1.538q.05-.254.081-.51l.993.123a8 8 0 0 1-.23 1.155l-.964-.267q.069-.247.12-.501m-.952 2.379q.276-.436.486-.908l.914.405q-.24.54-.555 1.038zm-.964 1.205q.183-.183.35-.378l.758.653a8 8 0 0 1-.401.432z'/%3E%3Cpath d='M8 1a7 7 0 1 0 4.95 11.95l.707.707A8.001 8.001 0 1 1 8 0z'/%3E%3Cpath d='M7.5 3a.5.5 0 0 1 .5.5v5.21l3.248 1.856a.5.5 0 0 1-.496.868l-3.5-2A.5.5 0 0 1 7 9V3.5a.5.5 0 0 1 .5-.5'/%3E%3C/svg%3E");
}

.bi-kanban-fill-nav-menu[b-inz7bzjtrl] {
    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='M2.5 0A2.5 2.5 0 0 0 0 2.5v11A2.5 2.5 0 0 0 2.5 16h11a2.5 2.5 0 0 0 2.5-2.5v-11A2.5 2.5 0 0 0 13.5 0zM4 4a1 1 0 0 1 1-1h1a1 1 0 0 1 1 1v5a1 1 0 0 1-1 1H5a1 1 0 0 1-1-1zm5-1h1a1 1 0 0 1 1 1v8a1 1 0 0 1-1 1H9a1 1 0 0 1-1-1V4a1 1 0 0 1 1-1'/%3E%3C/svg%3E");
}

.bi-calendar-week-nav-menu[b-inz7bzjtrl] {
    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='M11 6.5a.5.5 0 0 1 .5-.5h1a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-.5.5h-1a.5.5 0 0 1-.5-.5zm-3 0a.5.5 0 0 1 .5-.5h1a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-.5.5h-1a.5.5 0 0 1-.5-.5zm-5 3a.5.5 0 0 1 .5-.5h1a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-.5.5h-1a.5.5 0 0 1-.5-.5zm3 0a.5.5 0 0 1 .5-.5h1a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-.5.5h-1a.5.5 0 0 1-.5-.5z'/%3E%3Cpath d='M3.5 0a.5.5 0 0 1 .5.5V1h8V.5a.5.5 0 0 1 1 0V1h1a2 2 0 0 1 2 2v11a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2V3a2 2 0 0 1 2-2h1V.5a.5.5 0 0 1 .5-.5M1 4v10a1 1 0 0 0 1 1h12a1 1 0 0 0 1-1V4z'/%3E%3C/svg%3E");
}

.bi-receipt-nav-menu[b-inz7bzjtrl] {
    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='M1.92.506a.5.5 0 0 1 .434.14L3 1.293l.646-.647a.5.5 0 0 1 .708 0L5 1.293l.646-.647a.5.5 0 0 1 .708 0L7 1.293l.646-.647a.5.5 0 0 1 .708 0L9 1.293l.646-.647a.5.5 0 0 1 .708 0l.646.647.646-.647a.5.5 0 0 1 .708 0l.646.647.646-.647a.5.5 0 0 1 .801.13l.5 1A.5.5 0 0 1 15 2v12a.5.5 0 0 1-.053.224l-.5 1a.5.5 0 0 1-.8.13L13 14.707l-.646.647a.5.5 0 0 1-.708 0L11 14.707l-.646.647a.5.5 0 0 1-.708 0L9 14.707l-.646.647a.5.5 0 0 1-.708 0L7 14.707l-.646.647a.5.5 0 0 1-.708 0L5 14.707l-.646.647a.5.5 0 0 1-.708 0L3 14.707l-.646.647a.5.5 0 0 1-.801-.13l-.5-1A.5.5 0 0 1 1 14V2a.5.5 0 0 1 .053-.224l.5-1a.5.5 0 0 1 .367-.27m.217 1.338L2 2.118v11.764l.137.274.51-.51a.5.5 0 0 1 .707 0l.646.647.646-.646a.5.5 0 0 1 .708 0l.646.646.646-.646a.5.5 0 0 1 .708 0l.646.646.646-.646a.5.5 0 0 1 .708 0l.646.646.646-.646a.5.5 0 0 1 .708 0l.646.646.646-.646a.5.5 0 0 1 .708 0l.509.509.137-.274V2.118l-.137-.274-.51.51a.5.5 0 0 1-.707 0L12 1.707l-.646.647a.5.5 0 0 1-.708 0L10 1.707l-.646.647a.5.5 0 0 1-.708 0L8 1.707l-.646.647a.5.5 0 0 1-.708 0L6 1.707l-.646.647a.5.5 0 0 1-.708 0L4 1.707l-.646.647a.5.5 0 0 1-.708 0z'/%3E%3Cpath d='M3 4.5a.5.5 0 0 1 .5-.5h6a.5.5 0 1 1 0 1h-6a.5.5 0 0 1-.5-.5m0 2a.5.5 0 0 1 .5-.5h6a.5.5 0 1 1 0 1h-6a.5.5 0 0 1-.5-.5m0 2a.5.5 0 0 1 .5-.5h6a.5.5 0 1 1 0 1h-6a.5.5 0 0 1-.5-.5m0 2a.5.5 0 0 1 .5-.5h6a.5.5 0 0 1 0 1h-6a.5.5 0 0 1-.5-.5m8-6a.5.5 0 0 1 .5-.5h1a.5.5 0 0 1 0 1h-1a.5.5 0 0 1-.5-.5m0 2a.5.5 0 0 1 .5-.5h1a.5.5 0 0 1 0 1h-1a.5.5 0 0 1-.5-.5m0 2a.5.5 0 0 1 .5-.5h1a.5.5 0 0 1 0 1h-1a.5.5 0 0 1-.5-.5'/%3E%3C/svg%3E");
}

.bi-graph-up-nav-menu[b-inz7bzjtrl] {
    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 fill-rule='evenodd' d='M0 0h1v15h15v1H0zm14.817 3.113a.5.5 0 0 1 .07.704l-4.5 5.5a.5.5 0 0 1-.74.037L7.06 6.767l-3.656 5.027a.5.5 0 0 1-.808-.588l4-5.5a.5.5 0 0 1 .758-.06l2.609 2.61 4.15-5.073a.5.5 0 0 1 .704-.07'/%3E%3C/svg%3E");
}

.bi-robot-nav-menu[b-inz7bzjtrl] {
    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='M6 12.5a.5.5 0 0 1 .5-.5h3a.5.5 0 0 1 0 1h-3a.5.5 0 0 1-.5-.5M3 8.062C3 6.76 4.235 5.765 5.53 5.886a26.6 26.6 0 0 0 4.94 0C11.765 5.765 13 6.76 13 8.062v1.157a.93.93 0 0 1-.765.935c-.845.147-2.34.346-4.235.346s-3.39-.2-4.235-.346A.93.93 0 0 1 3 9.219zm4.542-.827a.25.25 0 0 0-.217.068l-.92.9a25 25 0 0 1-1.871-.183.25.25 0 0 0-.068.495c.55.076 1.232.149 2.02.193a.25.25 0 0 0 .189-.071l.754-.736.847 1.71a.25.25 0 0 0 .404.062l.932-.97a25 25 0 0 0 1.922-.188.25.25 0 0 0-.068-.495c-.538.074-1.207.145-1.98.189a.25.25 0 0 0-.166.076l-.754.785-.842-1.7a.25.25 0 0 0-.182-.135'/%3E%3Cpath d='M8.5 1.866a1 1 0 1 0-1 0V3h-2A4.5 4.5 0 0 0 1 7.5V8a1 1 0 0 0-1 1v2a1 1 0 0 0 1 1v1a2 2 0 0 0 2 2h10a2 2 0 0 0 2-2v-1a1 1 0 0 0 1-1V9a1 1 0 0 0-1-1v-.5A4.5 4.5 0 0 0 10.5 3h-2zM14 7.5V13a1 1 0 0 1-1 1H3a1 1 0 0 1-1-1V7.5A3.5 3.5 0 0 1 5.5 4h5A3.5 3.5 0 0 1 14 7.5'/%3E%3C/svg%3E");
}

.bi-journal-text-nav-menu[b-inz7bzjtrl] {
    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-2v-1h1v1a1 1 0 0 0 1 1h10a1 1 0 0 0 1-1V2a1 1 0 0 0-1-1H3a1 1 0 0 0-1 1v1H1V2a2 2 0 0 1 2-2'/%3E%3Cpath d='M1 5v-.5a.5.5 0 0 1 1 0V5h.5a.5.5 0 0 1 0 1h-2a.5.5 0 0 1 0-1zm0 3v-.5a.5.5 0 0 1 1 0V8h.5a.5.5 0 0 1 0 1h-2a.5.5 0 0 1 0-1zm0 3v-.5a.5.5 0 0 1 1 0v.5h.5a.5.5 0 0 1 0 1h-2a.5.5 0 0 1 0-1z'/%3E%3C/svg%3E");
}

.bi-book-nav-menu[b-inz7bzjtrl] {
    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='M1 2.828c.885-.37 2.154-.769 3.388-.893 1.33-.134 2.458.063 3.112.752v9.746c-.935-.53-2.12-.603-3.213-.493-1.18.12-2.37.461-3.287.811zm7.5-.141c.654-.689 1.782-.886 3.112-.752 1.234.124 2.503.523 3.388.893v9.923c-.918-.35-2.107-.692-3.287-.81-1.094-.111-2.278-.039-3.213.492zM8 1.783C7.015.936 5.587.81 4.287.94c-1.514.153-3.042.672-3.994 1.105A.5.5 0 0 0 0 2.5v11a.5.5 0 0 0 .707.455c.882-.4 2.303-.881 3.68-1.02 1.409-.142 2.59.087 3.223.877a.5.5 0 0 0 .78 0c.633-.79 1.814-1.019 3.222-.877 1.378.139 2.8.62 3.681 1.02A.5.5 0 0 0 16 13.5v-11a.5.5 0 0 0-.293-.455c-.952-.433-2.48-.952-3.994-1.105C10.413.809 8.985.936 8 1.783'/%3E%3C/svg%3E");
}

.bi-truck-nav-menu[b-inz7bzjtrl] {
    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='M0 3.5A1.5 1.5 0 0 1 1.5 2h9A1.5 1.5 0 0 1 12 3.5V5h1.02a1.5 1.5 0 0 1 1.17.563l1.481 1.85a1.5 1.5 0 0 1 .329.938V10.5a1.5 1.5 0 0 1-1.5 1.5H14a2 2 0 1 1-4 0H5a2 2 0 1 1-3.998-.085A1.5 1.5 0 0 1 0 10.5zm1.5-.5a.5.5 0 0 0-.5.5v7a.5.5 0 0 0 .5.5h.5a2 2 0 0 1 4 0h5a2 2 0 0 1 4 0h.5a.5.5 0 0 0 .5-.5V8.35a.5.5 0 0 0-.11-.312l-1.48-1.85A.5.5 0 0 0 13.02 6H12V3.5a.5.5 0 0 0-.5-.5zM4 15a1 1 0 1 0 0-2 1 1 0 0 0 0 2m10 0a1 1 0 1 0 0-2 1 1 0 0 0 0 2'/%3E%3C/svg%3E");
}

.bi-key-nav-menu[b-inz7bzjtrl] {
    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='M0 8a4 4 0 0 1 7.465-2H14a.5.5 0 0 1 .354.146l1.5 1.5a.5.5 0 0 1 0 .708l-1.5 1.5a.5.5 0 0 1-.708 0L13 9.207l-.646.647a.5.5 0 0 1-.708 0L11 9.207l-.646.647a.5.5 0 0 1-.708 0L9 9.207l-.646.647A.5.5 0 0 1 8 10h-.535A4 4 0 0 1 0 8m4-3a3 3 0 1 0 2.712 4.285A.5.5 0 0 1 7.163 9h.63l.853-.854a.5.5 0 0 1 .708 0l.646.647.646-.647a.5.5 0 0 1 .708 0l.646.647.646-.647a.5.5 0 0 1 .708 0l.646.647.793-.793-1-1h-6.63a.5.5 0 0 1-.451-.285A3 3 0 0 0 4 5'/%3E%3Cpath d='M4 8a1 1 0 1 1-2 0 1 1 0 0 1 2 0'/%3E%3C/svg%3E");
}

.bi-download-nav-menu[b-inz7bzjtrl] {
    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='M.5 9.9a.5.5 0 0 1 .5.5v2.5a1 1 0 0 0 1 1h12a1 1 0 0 0 1-1v-2.5a.5.5 0 0 1 1 0v2.5a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2v-2.5a.5.5 0 0 1 .5-.5'/%3E%3Cpath d='M7.646 11.854a.5.5 0 0 0 .708 0l3-3a.5.5 0 0 0-.708-.708L8.5 10.293V1.5a.5.5 0 0 0-1 0v8.793L5.354 8.146a.5.5 0 1 0-.708.708z'/%3E%3C/svg%3E");
}

.bi-cart-nav-menu[b-inz7bzjtrl] {
    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='M0 1.5A.5.5 0 0 1 .5 1H2a.5.5 0 0 1 .485.379L2.89 3H14.5a.5.5 0 0 1 .491.592l-1.5 8A.5.5 0 0 1 13 12H4a.5.5 0 0 1-.491-.408L2.01 3.607 1.61 2H.5a.5.5 0 0 1-.5-.5M3.102 4l1.313 7h8.17l1.313-7zM5 12a2 2 0 1 0 0 4 2 2 0 0 0 0-4m7 0a2 2 0 1 0 0 4 2 2 0 0 0 0-4m-7 1a1 1 0 1 1 0 2 1 1 0 0 1 0-2m7 0a1 1 0 1 1 0 2 1 1 0 0 1 0-2'/%3E%3C/svg%3E");
}

.bi-list-check-nav-menu[b-inz7bzjtrl] {
    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 fill-rule='evenodd' d='M5 11.5a.5.5 0 0 1 .5-.5h9a.5.5 0 0 1 0 1h-9a.5.5 0 0 1-.5-.5m0-4a.5.5 0 0 1 .5-.5h9a.5.5 0 0 1 0 1h-9a.5.5 0 0 1-.5-.5m0-4a.5.5 0 0 1 .5-.5h9a.5.5 0 0 1 0 1h-9a.5.5 0 0 1-.5-.5M3.854 2.146a.5.5 0 0 1 0 .708l-1.5 1.5a.5.5 0 0 1-.708 0l-.5-.5a.5.5 0 1 1 .708-.708L2 3.293l1.146-1.147a.5.5 0 0 1 .708 0m0 4a.5.5 0 0 1 0 .708l-1.5 1.5a.5.5 0 0 1-.708 0l-.5-.5a.5.5 0 1 1 .708-.708L2 7.293l1.146-1.147a.5.5 0 0 1 .708 0m0 4a.5.5 0 0 1 0 .708l-1.5 1.5a.5.5 0 0 1-.708 0l-.5-.5a.5.5 0 0 1 .708-.708l.146.147 1.146-1.147a.5.5 0 0 1 .708 0'/%3E%3C/svg%3E");
}

.bi-bar-chart-nav-menu[b-inz7bzjtrl] {
    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='M4 11H2v3h2zm5-4H7v7h2zm5-5v12h-2V2zm-2-1a1 1 0 0 0-1 1v12a1 1 0 0 0 1 1h2a1 1 0 0 0 1-1V2a1 1 0 0 0-1-1zM6 7a1 1 0 0 1 1-1h2a1 1 0 0 1 1 1v7a1 1 0 0 1-1 1H7a1 1 0 0 1-1-1zm-5 4a1 1 0 0 1 1-1h2a1 1 0 0 1 1 1v3a1 1 0 0 1-1 1H2a1 1 0 0 1-1-1z'/%3E%3C/svg%3E");
}

.bi-envelope-nav-menu[b-inz7bzjtrl] {
    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='M0 4a2 2 0 0 1 2-2h12a2 2 0 0 1 2 2v8a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2zm2-1a1 1 0 0 0-1 1v.217l7 4.2 7-4.2V4a1 1 0 0 0-1-1zm13 2.383-4.708 2.825L15 11.105zm-.034 6.876-5.64-3.471L8 9.583l-1.326-.795-5.64 3.47A1 1 0 0 0 2 13h12a1 1 0 0 0 .966-.741M1 11.105l4.708-2.897L1 5.383z'/%3E%3C/svg%3E");
}

.bi-calendar-check-nav-menu[b-inz7bzjtrl] {
    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='M10.854 7.146a.5.5 0 0 1 0 .708l-3 3a.5.5 0 0 1-.708 0l-1.5-1.5a.5.5 0 1 1 .708-.708L7.5 9.793l2.646-2.647a.5.5 0 0 1 .708 0'/%3E%3Cpath d='M3.5 0a.5.5 0 0 1 .5.5V1h8V.5a.5.5 0 0 1 1 0V1h1a2 2 0 0 1 2 2v11a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2V3a2 2 0 0 1 2-2h1V.5a.5.5 0 0 1 .5-.5M1 4v10a1 1 0 0 0 1 1h12a1 1 0 0 0 1-1V4z'/%3E%3C/svg%3E");
}

.bi-file-earmark-text-nav-menu[b-inz7bzjtrl] {
    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.5 7a.5.5 0 0 0 0 1h5a.5.5 0 0 0 0-1zM5 9.5a.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-.5h2a.5.5 0 0 1 0 1h-2a.5.5 0 0 1-.5-.5'/%3E%3Cpath d='M9.5 0H4a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h8a2 2 0 0 0 2-2V4.5zm0 1v2A1.5 1.5 0 0 0 11 4.5h2V14a1 1 0 0 1-1 1H4a1 1 0 0 1-1-1V2a1 1 0 0 1 1-1z'/%3E%3C/svg%3E");
}

.bi-gear-nav-menu[b-inz7bzjtrl] {
    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 4.754a3.246 3.246 0 1 0 0 6.492 3.246 3.246 0 0 0 0-6.492M5.754 8a2.246 2.246 0 1 1 4.492 0 2.246 2.246 0 0 1-4.492 0'/%3E%3Cpath d='M9.796 1.343c-.527-1.79-3.065-1.79-3.592 0l-.094.319a.873.873 0 0 1-1.255.52l-.292-.16c-1.64-.892-3.433.902-2.54 2.541l.159.292a.873.873 0 0 1-.52 1.255l-.319.094c-1.79.527-1.79 3.065 0 3.592l.319.094a.873.873 0 0 1 .52 1.255l-.16.292c-.892 1.64.901 3.434 2.541 2.54l.292-.159a.873.873 0 0 1 1.255.52l.094.319c.527 1.79 3.065 1.79 3.592 0l.094-.319a.873.873 0 0 1 1.255-.52l.292.16c1.64.893 3.434-.902 2.54-2.541l-.159-.292a.873.873 0 0 1 .52-1.255l.319-.094c1.79-.527 1.79-3.065 0-3.592l-.319-.094a.873.873 0 0 1-.52-1.255l.16-.292c.893-1.64-.902-3.433-2.541-2.54l-.292.159a.873.873 0 0 1-1.255-.52zm-2.633.283c.246-.835 1.428-.835 1.674 0l.094.319a1.873 1.873 0 0 0 2.693 1.115l.291-.16c.764-.415 1.6.42 1.184 1.185l-.159.292a1.873 1.873 0 0 0 1.116 2.692l.318.094c.835.246.835 1.428 0 1.674l-.319.094a1.873 1.873 0 0 0-1.115 2.693l.16.291c.415.764-.42 1.6-1.185 1.184l-.291-.159a1.873 1.873 0 0 0-2.693 1.116l-.094.318c-.246.835-1.428.835-1.674 0l-.094-.319a1.873 1.873 0 0 0-2.692-1.115l-.292.16c-.764.415-1.6-.42-1.184-1.185l.159-.291A1.873 1.873 0 0 0 1.945 8.93l-.319-.094c-.835-.246-.835-1.428 0-1.674l.319-.094A1.873 1.873 0 0 0 3.06 4.377l-.16-.292c-.415-.764.42-1.6 1.185-1.184l.292.159a1.873 1.873 0 0 0 2.692-1.115z'/%3E%3C/svg%3E");
}

.bi-person-badge-nav-menu[b-inz7bzjtrl] {
    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='M6.5 2a.5.5 0 0 0 0 1h3a.5.5 0 0 0 0-1zM11 8a3 3 0 1 1-6 0 3 3 0 0 1 6 0'/%3E%3Cpath d='M4.5 0A2.5 2.5 0 0 0 2 2.5V14a2 2 0 0 0 2 2h8a2 2 0 0 0 2-2V2.5A2.5 2.5 0 0 0 11.5 0zM3 2.5A1.5 1.5 0 0 1 4.5 1h7A1.5 1.5 0 0 1 13 2.5v10.795a4.2 4.2 0 0 0-.776-.492C11.392 12.387 10.063 12 8 12s-3.392.387-4.224.803a4.2 4.2 0 0 0-.776.492z'/%3E%3C/svg%3E");
}

.bi-shield-lock-nav-menu[b-inz7bzjtrl] {
    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.338 1.59a61 61 0 0 0-2.837.856.48.48 0 0 0-.328.39c-.554 4.157.726 7.19 2.253 9.188a10.7 10.7 0 0 0 2.287 2.233c.346.244.652.42.893.533q.18.085.293.118a1 1 0 0 0 .101.025 1 1 0 0 0 .1-.025q.114-.034.294-.118c.24-.113.547-.29.893-.533a10.7 10.7 0 0 0 2.287-2.233c1.527-1.997 2.807-5.031 2.253-9.188a.48.48 0 0 0-.328-.39c-.651-.213-1.75-.56-2.837-.855C9.552 1.29 8.531 1.067 8 1.067c-.53 0-1.552.223-2.662.524zM5.072.56C6.157.265 7.31 0 8 0s1.843.265 2.928.56c1.11.3 2.229.655 2.887.87a1.54 1.54 0 0 1 1.044 1.262c.596 4.477-.787 7.795-2.465 9.99a11.8 11.8 0 0 1-2.517 2.453 7 7 0 0 1-1.048.625c-.28.132-.581.24-.829.24s-.548-.108-.829-.24a7 7 0 0 1-1.048-.625 11.8 11.8 0 0 1-2.517-2.453C1.928 10.487.545 7.169 1.141 2.692A1.54 1.54 0 0 1 2.185 1.43 63 63 0 0 1 5.072.56'/%3E%3Cpath d='M9.5 6.5a1.5 1.5 0 0 1-1 1.415l.385 1.99a.5.5 0 0 1-.491.595h-.788a.5.5 0 0 1-.49-.595l.384-1.99a1.5 1.5 0 1 1 2-1.415'/%3E%3C/svg%3E");
}

.bi-people-fill-nav-menu[b-inz7bzjtrl] {
    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='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-clipboard-data-nav-menu[b-inz7bzjtrl] {
    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='M4 11a1 1 0 1 1 2 0v1a1 1 0 1 1-2 0zm6-4a1 1 0 1 1 2 0v5a1 1 0 1 1-2 0zM7 9a1 1 0 0 1 2 0v3a1 1 0 1 1-2 0z'/%3E%3Cpath d='M4 1.5H3a2 2 0 0 0-2 2V14a2 2 0 0 0 2 2h10a2 2 0 0 0 2-2V3.5a2 2 0 0 0-2-2h-1v1h1a1 1 0 0 1 1 1V14a1 1 0 0 1-1 1H3a1 1 0 0 1-1-1V3.5a1 1 0 0 1 1-1h1z'/%3E%3Cpath d='M9.5 1a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-.5.5h-3a.5.5 0 0 1-.5-.5v-1a.5.5 0 0 1 .5-.5zm-3-1A1.5 1.5 0 0 0 5 1.5v1A1.5 1.5 0 0 0 6.5 4h3A1.5 1.5 0 0 0 11 2.5v-1A1.5 1.5 0 0 0 9.5 0z'/%3E%3C/svg%3E");
}

.bi-heart-pulse-fill-nav-menu[b-inz7bzjtrl] {
    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='M1.475 9C2.702 10.84 4.779 12.871 8 15c3.221-2.129 5.298-4.16 6.525-6H12a.5.5 0 0 1-.464-.314l-1.457-3.642-1.598 5.593a.5.5 0 0 1-.945.049L5.889 6.568l-1.473 2.21A.5.5 0 0 1 4 9z'/%3E%3Cpath d='M.88 7a3.6 3.6 0 0 1-.398-1.181C-.012 4.077.327 1.95 2.4.92a4 4 0 0 1 1.385-.4c.987-.1 2.022.193 2.93.834q.27.19.491.409.221-.219.491-.409c.908-.64 1.943-.934 2.93-.834.471.05.94.186 1.385.401 2.073 1.03 2.412 3.157 1.917 4.899A3.6 3.6 0 0 1 13.4 7h-1.353a.5.5 0 0 0-.469.327l-.81 2.214-1.604-5.61a.5.5 0 0 0-.961-.001L6.165 8.42 5.122 7.42A.5.5 0 0 0 4.78 7z'/%3E%3C/svg%3E");
}

.bi-database-fill-nav-menu[b-inz7bzjtrl] {
    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='M3.904 1.777C4.978 1.289 6.427 1 8 1s3.022.289 4.096.777C13.125 2.245 14 2.993 14 4s-.875 1.755-1.904 2.223C11.022 6.711 9.573 7 8 7s-3.022-.289-4.096-.777C2.875 5.755 2 5.007 2 4s.875-1.755 1.904-2.223'/%3E%3Cpath d='M2 6.161V7c0 1.007.875 1.755 1.904 2.223C4.978 9.71 6.427 10 8 10s3.022-.289 4.096-.777C13.125 8.755 14 8.007 14 7v-.839c-.457.432-1.004.751-1.49.972C11.278 7.693 9.682 8 8 8s-3.278-.307-4.51-.867c-.486-.22-1.033-.54-1.49-.972'/%3E%3Cpath d='M2 9.161V10c0 1.007.875 1.755 1.904 2.223C4.978 12.71 6.427 13 8 13s3.022-.289 4.096-.777C13.125 11.755 14 11.007 14 10v-.839c-.457.432-1.004.751-1.49.972C11.278 10.693 9.682 11 8 11s-3.278-.307-4.51-.867c-.486-.22-1.033-.54-1.49-.972'/%3E%3Cpath d='M2 12.161V13c0 1.007.875 1.755 1.904 2.223C4.978 15.71 6.427 16 8 16s3.022-.289 4.096-.777C13.125 14.755 14 14.007 14 13v-.839c-.457.432-1.004.751-1.49.972C11.278 13.693 9.682 14 8 14s-3.278-.307-4.51-.867c-.486-.22-1.033-.54-1.49-.972'/%3E%3C/svg%3E");
}

.bi-folder-fill-nav-menu[b-inz7bzjtrl] {
    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='M9.828 3h3.982a2 2 0 0 1 1.992 2.181l-.637 7A2 2 0 0 1 13.174 14H2.825a2 2 0 0 1-1.991-1.819l-.637-7a2 2 0 0 1 .342-1.31L.5 3a2 2 0 0 1 2-2h3.672a2 2 0 0 1 1.414.586l.828.828A2 2 0 0 0 9.828 3m-8.322.12q.322-.119.684-.12h5.396l-.707-.707A1 1 0 0 0 6.172 2H2.5a1 1 0 0 0-1 .981z'/%3E%3C/svg%3E");
}

.bi-person-lines-fill-nav-menu[b-inz7bzjtrl] {
    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='M6 8c2.21 0 4-1.79 4-4S8.21 0 6 0 2 1.79 2 4s1.79 4 4 4m4 .5a.5.5 0 0 1 .5-.5h4a.5.5 0 0 1 0 1h-4a.5.5 0 0 1-.5-.5m0 2a.5.5 0 0 1 .5-.5h4a.5.5 0 0 1 0 1h-4a.5.5 0 0 1-.5-.5m0 2a.5.5 0 0 1 .5-.5h4a.5.5 0 0 1 0 1h-4a.5.5 0 0 1-.5-.5m0 2a.5.5 0 0 1 .5-.5h4a.5.5 0 0 1 0 1h-4a.5.5 0 0 1-.5-.5M0 14s-1 0-1-1 1-4 7-4 7 3 7 4-1 1-1 1z'/%3E%3C/svg%3E");
}

.bi-person-vcard-fill-nav-menu[b-inz7bzjtrl] {
    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='M0 4a2 2 0 0 1 2-2h12a2 2 0 0 1 2 2v8a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2zm9 1.5a.5.5 0 0 0 .5.5h4a.5.5 0 0 0 0-1h-4a.5.5 0 0 0-.5.5M9 8a.5.5 0 0 0 .5.5h4a.5.5 0 0 0 0-1h-4A.5.5 0 0 0 9 8m1 2.5a.5.5 0 0 0 .5.5h3a.5.5 0 0 0 0-1h-3a.5.5 0 0 0-.5.5m-1 2C9 10.567 7.21 9 5 9c-2.086 0-3.8 1.398-3.984 3.181A1 1 0 0 0 2 13h6.96q.04-.245.04-.5M7 6a2 2 0 1 0-4 0 2 2 0 0 0 4 0'/%3E%3C/svg%3E");
}

.bi-percent-nav-menu[b-inz7bzjtrl] {
    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='M13.442 2.558a.625.625 0 0 1 0 .884l-10 10a.625.625 0 1 1-.884-.884l10-10a.625.625 0 0 1 .884 0M4.5 6a1.5 1.5 0 1 1 0-3 1.5 1.5 0 0 1 0 3m0 1a2.5 2.5 0 1 0 0-5 2.5 2.5 0 0 0 0 5m7 6a1.5 1.5 0 1 1 0-3 1.5 1.5 0 0 1 0 3m0 1a2.5 2.5 0 1 0 0-5 2.5 2.5 0 0 0 0 5'/%3E%3C/svg%3E");
}

.bi-telephone-fill-nav-menu[b-inz7bzjtrl] {
    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 fill-rule='evenodd' d='M1.885.511a1.745 1.745 0 0 1 2.61.163L6.29 2.98c.329.423.445.974.315 1.494l-.547 2.19a.68.68 0 0 0 .178.643l2.457 2.457a.68.68 0 0 0 .644.178l2.189-.547a1.75 1.75 0 0 1 1.494.315l2.306 1.794c.829.645.905 1.87.163 2.611l-1.034 1.034c-.74.74-1.846 1.065-2.877.702a18.6 18.6 0 0 1-7.01-4.42 18.6 18.6 0 0 1-4.42-7.009c-.362-1.03-.037-2.137.703-2.877z'/%3E%3C/svg%3E");
}

.bi-gift-fill-nav-menu[b-inz7bzjtrl] {
    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='M3 2.5a2.5 2.5 0 0 1 5 0 2.5 2.5 0 0 1 5 0v.006c0 .07 0 .27-.038.494H15a1 1 0 0 1 1 1v2a1 1 0 0 1-1 1v7.5a1.5 1.5 0 0 1-1.5 1.5h-11A1.5 1.5 0 0 1 1 14.5V7a1 1 0 0 1-1-1V4a1 1 0 0 1 1-1h2.038A3 3 0 0 1 3 2.506zm1.068.5H7v-.5a1.5 1.5 0 1 0-3 0c0 .085.002.274.045.43zM9 3h2.932l.023-.07c.043-.156.045-.345.045-.43a1.5 1.5 0 0 0-3 0zM1 4v2h6V4zm8 0v2h6V4zM8 7v8h5.5a.5.5 0 0 0 .5-.5V7zm-1 0H2v7.5a.5.5 0 0 0 .5.5H7z'/%3E%3C/svg%3E");
}

.bi-cash-stack-nav-menu[b-inz7bzjtrl] {
    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='M1 3a1 1 0 0 1 1-1h12a1 1 0 0 1 1 1H1zm7 8a2 2 0 1 0 0-4 2 2 0 0 0 0 4'/%3E%3Cpath d='M0 5a1 1 0 0 1 1-1h14a1 1 0 0 1 1 1v8a1 1 0 0 1-1 1H1a1 1 0 0 1-1-1zm3 0a2 2 0 0 1-2 2v4a2 2 0 0 1 2 2h10a2 2 0 0 1 2-2V7a2 2 0 0 1-2-2z'/%3E%3C/svg%3E");
}

/* Account + Sign Out, pinned to the bottom of the column (margin-top:auto eats the slack). */
.sidenav-foot[b-inz7bzjtrl] {
    margin-top: auto;
    padding-top: 0.6rem;
    border-top: 1px solid rgba(255,255,255,0.15);
    display: flex;
    flex-direction: column;
    align-items: stretch;
    gap: 0.25rem;
}

    .sidenav-foot[b-inz7bzjtrl]  a,
    .sidenav-foot[b-inz7bzjtrl]  .btn-link {
        color: #d7d7d7;
        text-decoration: none;
    }

    .sidenav-foot[b-inz7bzjtrl]  a:hover { color: #fff; }

.bi-box-arrow-right-nav-menu[b-inz7bzjtrl] {
    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 fill-rule='evenodd' d='M10 12.5a.5.5 0 0 1-.5.5h-8a.5.5 0 0 1-.5-.5v-9a.5.5 0 0 1 .5-.5h8a.5.5 0 0 1 .5.5v2a.5.5 0 0 0 1 0v-2A1.5 1.5 0 0 0 9.5 2h-8A1.5 1.5 0 0 0 0 3.5v9A1.5 1.5 0 0 0 1.5 14h8a1.5 1.5 0 0 0 1.5-1.5v-2a.5.5 0 0 0-1 0z'/%3E%3Cpath fill-rule='evenodd' d='M15.854 8.354a.5.5 0 0 0 0-.708l-3-3a.5.5 0 0 0-.708.708L14.293 7.5H5.5a.5.5 0 0 0 0 1h8.793l-2.147 2.146a.5.5 0 0 0 .708.708z'/%3E%3C/svg%3E");
}

/* ---- Top-level links + collapsible groups ---- */

/* Shared row look for the standalone links and the group headers. */
.sidenav-group-toggle[b-inz7bzjtrl],
.sidenav-body[b-inz7bzjtrl]  .sidenav-link {
    display: flex;
    align-items: center;
    width: 100%;
    color: #d7d7d7;
    text-align: left;
    text-decoration: none;
    padding: 0.4rem 0.6rem;
    border: none;
    border-radius: 4px;
    background: transparent;
    cursor: pointer;
    user-select: none;
    font-size: 0.95rem;
}

    .sidenav-group-toggle:hover[b-inz7bzjtrl],
    .sidenav-body[b-inz7bzjtrl]  .sidenav-link:hover {
        background-color: rgba(255,255,255,0.12);
        color: #fff;
    }

.sidenav-body[b-inz7bzjtrl]  .sidenav-link.active {
    background-color: rgba(255,255,255,0.30);
    color: #fff;
}

/* Expand all / Collapse all. Deliberately small and quiet — they are a convenience, not a
   destination, and must not read as louder than the sections they operate on. */
.sidenav-allctl[b-inz7bzjtrl] {
    display: flex;
    gap: 0.3rem;
    padding: 0.35rem 0.1rem 0.2rem;
}

.sidenav-all[b-inz7bzjtrl] {
    flex: 1 1 0;
    background: transparent;
    border: 1px solid rgba(255,255,255,0.2);
    border-radius: 4px;
    color: #b9c2d0;
    font-size: 0.72rem;
    padding: 0.15rem 0.2rem;
    cursor: pointer;
}

    .sidenav-all:hover[b-inz7bzjtrl] { background-color: rgba(255,255,255,0.12); color: #fff; }

.sidenav-group[b-inz7bzjtrl] {
    margin-top: 0.15rem;
}

.sidenav-group-toggle[b-inz7bzjtrl] {
    font-weight: 600;
    justify-content: space-between;
}

    /* Caret points down when open, right when collapsed. */
    .sidenav-group-toggle[b-inz7bzjtrl]::after {
        content: "\25BE"; /* ▾ */
        font-size: 0.7rem;
        margin-left: 0.35rem;
        flex: 0 0 auto;
    }

.sidenav-group.is-collapsed .sidenav-group-toggle[b-inz7bzjtrl]::after {
    content: "\25B8"; /* ▸ */
}

/* Expanded is the DEFAULT so a failed script leaves a usable menu; JS collapses from here. */
.sidenav-group-items[b-inz7bzjtrl] {
    display: block;
    padding-left: 0.5rem;
}

.sidenav-group.is-collapsed .sidenav-group-items[b-inz7bzjtrl] {
    display: none;
}

.sidenav-group-items[b-inz7bzjtrl]  .nav-link {
    color: #d7d7d7;
    display: flex;
    align-items: center;
    padding: 0.35rem 0.6rem;
    border-radius: 4px;
    text-decoration: none;
    font-size: 0.9rem;
}

    .sidenav-group-items[b-inz7bzjtrl]  .nav-link:hover {
        background-color: rgba(255,255,255,0.12);
        color: #fff;
    }

.sidenav-group-items[b-inz7bzjtrl]  a.active {
    background-color: rgba(255,255,255,0.30);
    color: #fff;
}

/* ---- Narrow screens: the expanded sidebar floats over the content ----
   On a phone a 15.5rem column beside the page leaves nothing for the page. Expanded therefore
   overlays instead of taking a share of the width; the rail is the resting state (sidenav.js
   defaults to collapsed below this width when the user has expressed no preference). */
@media (max-width: 640.98px) {
    .sidenav:not(.is-collapsed)[b-inz7bzjtrl] {
        position: fixed;
        top: 0;
        left: 0;
        bottom: 0;
        max-height: 100vh;
        box-shadow: 0 0 24px rgba(0,0,0,0.5);
    }
}

/* A SUB-PAGE — a collapsible folder nested inside a section. It reuses .sidenav-group so sidenav.js
   toggles and remembers it with no extra JavaScript; these rules add only the indent and a smaller,
   quieter heading so the nesting reads at a glance. */
.sidenav-sub[b-inz7bzjtrl] {
    margin: 0.1rem 0 0.1rem 0.35rem;
    border-left: 1px solid rgba(255,255,255,0.16);
}

.sidenav-sub-toggle[b-inz7bzjtrl] {
    font-size: 0.82rem;
    font-weight: 500;
    text-transform: none;
    letter-spacing: 0;
    opacity: 0.92;
}

.sidenav-sub .sidenav-group-items[b-inz7bzjtrl] {
    padding-left: 0.5rem;
}

/* The open company's own sections, nested under the Company link. Indented and tinted so it reads as
   "these belong to the company above" rather than as more top-level navigation. */
.sidenav-company[b-inz7bzjtrl] {
    margin: 0.1rem 0 0.35rem 0.9rem;
    padding-left: 0.35rem;
    border-left: 1px solid rgba(255,255,255,0.16);
}

.sidenav-company-link[b-inz7bzjtrl] {
    font-size: 0.82rem;
    opacity: 0.9;
}

.sidenav-company .sidenav-sub[b-inz7bzjtrl] {
    margin-left: 0;
    border-left: none;
}

/* "Choose favourites…" — an action rather than a section, so it is quieter than the links above it. */
.sidenav-company-muted[b-inz7bzjtrl] {
    font-style: italic;
    opacity: 0.7;
}
/* /Components/Layout/ReconnectModal.razor.rz.scp.css */
.components-reconnect-first-attempt-visible[b-z4w6227ndg],
.components-reconnect-repeated-attempt-visible[b-z4w6227ndg],
.components-reconnect-failed-visible[b-z4w6227ndg],
.components-pause-visible[b-z4w6227ndg],
.components-resume-failed-visible[b-z4w6227ndg],
.components-rejoining-animation[b-z4w6227ndg] {
    display: none;
}

#components-reconnect-modal.components-reconnect-show .components-reconnect-first-attempt-visible[b-z4w6227ndg],
#components-reconnect-modal.components-reconnect-show .components-rejoining-animation[b-z4w6227ndg],
#components-reconnect-modal.components-reconnect-paused .components-pause-visible[b-z4w6227ndg],
#components-reconnect-modal.components-reconnect-resume-failed .components-resume-failed-visible[b-z4w6227ndg],
#components-reconnect-modal.components-reconnect-retrying[b-z4w6227ndg],
#components-reconnect-modal.components-reconnect-retrying .components-reconnect-repeated-attempt-visible[b-z4w6227ndg],
#components-reconnect-modal.components-reconnect-retrying .components-rejoining-animation[b-z4w6227ndg],
#components-reconnect-modal.components-reconnect-failed[b-z4w6227ndg],
#components-reconnect-modal.components-reconnect-failed .components-reconnect-failed-visible[b-z4w6227ndg] {
    display: block;
}


#components-reconnect-modal[b-z4w6227ndg] {
    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-z4w6227ndg 0.5s both;
    &[open]

{
    animation: components-reconnect-modal-slideUp-b-z4w6227ndg 1.5s cubic-bezier(.05, .89, .25, 1.02) 0.3s, components-reconnect-modal-fadeInOpacity-b-z4w6227ndg 0.5s ease-in-out 0.3s;
    animation-fill-mode: both;
}

}

#components-reconnect-modal[b-z4w6227ndg]::backdrop {
    background-color: rgba(0, 0, 0, 0.4);
    animation: components-reconnect-modal-fadeInOpacity-b-z4w6227ndg 0.5s ease-in-out;
    opacity: 1;
}

@keyframes components-reconnect-modal-slideUp-b-z4w6227ndg {
    0% {
        transform: translateY(30px) scale(0.95);
    }

    100% {
        transform: translateY(0);
    }
}

@keyframes components-reconnect-modal-fadeInOpacity-b-z4w6227ndg {
    0% {
        opacity: 0;
    }

    100% {
        opacity: 1;
    }
}

@keyframes components-reconnect-modal-fadeOutOpacity-b-z4w6227ndg {
    0% {
        opacity: 1;
    }

    100% {
        opacity: 0;
    }
}

.components-reconnect-container[b-z4w6227ndg] {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 1rem;
}

#components-reconnect-modal p[b-z4w6227ndg] {
    margin: 0;
    text-align: center;
}

#components-reconnect-modal button[b-z4w6227ndg] {
    border: 0;
    background-color: #6b9ed2;
    color: white;
    padding: 4px 24px;
    border-radius: 4px;
}

    #components-reconnect-modal button:hover[b-z4w6227ndg] {
        background-color: #3b6ea2;
    }

    #components-reconnect-modal button:active[b-z4w6227ndg] {
        background-color: #6b9ed2;
    }

.components-rejoining-animation[b-z4w6227ndg] {
    position: relative;
    width: 80px;
    height: 80px;
}

    .components-rejoining-animation div[b-z4w6227ndg] {
        position: absolute;
        border: 3px solid #0087ff;
        opacity: 1;
        border-radius: 50%;
        animation: components-rejoining-animation-b-z4w6227ndg 1.5s cubic-bezier(0, 0.2, 0.8, 1) infinite;
    }

        .components-rejoining-animation div:nth-child(2)[b-z4w6227ndg] {
            animation-delay: -0.5s;
        }

@keyframes components-rejoining-animation-b-z4w6227ndg {
    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/Customers/CustomerDetail.razor.rz.scp.css */
/* Collapsible "Company" section — the summary is a single click-to-open row with a caret. */
.company-summary[b-u8fvz14kj6] {
    cursor: pointer;
    list-style: none;
    display: flex;
    align-items: center;
    gap: .25rem;
    padding: .5rem .75rem;
    border: 1px solid #dee2e6;
    border-radius: 6px;
}

    .company-summary[b-u8fvz14kj6]::-webkit-details-marker {
        display: none;
    }

    .company-summary[b-u8fvz14kj6]::before {
        content: "\25B8"; /* ▸ */
        width: 1rem;
        color: #6c757d;
    }

details[open] > .company-summary[b-u8fvz14kj6]::before {
    content: "\25BE"; /* ▾ */
}

.company-summary:hover[b-u8fvz14kj6] {
    background: #f8f9fa;
}

/* Type-keyed row highlight: Contract = gold, Regular = light blue, Archive = gray. */
.company-summary.company-contract[b-u8fvz14kj6] {
    background: #fde6b3;
    border-color: #e9c96a;
}

    .company-summary.company-contract:hover[b-u8fvz14kj6] {
        background: #fbdd94;
    }

.company-summary.company-regular[b-u8fvz14kj6] {
    background: #d6e9ff;
    border-color: #9ec5f0;
}

    .company-summary.company-regular:hover[b-u8fvz14kj6] {
        background: #c2ddff;
    }

.company-summary.company-archive[b-u8fvz14kj6] {
    background: #e2e3e5;
    border-color: #c6c8cb;
}

    .company-summary.company-archive:hover[b-u8fvz14kj6] {
        background: #d3d5d8;
    }

.company-title[b-u8fvz14kj6] {
    font-size: 1.25rem;
    font-weight: 500;
}

/* ---- Overview section separation -----------------------------------------------------------
   The overview stacked bare <section>s with only a heading between them, so the blocks ran
   together and it was hard to tell where one ended. Each is now a card with its own outline and
   a tinted header strip. Scoped to this component, so child components (CrudSection and the
   tables inside it) keep their own look. */
section.mb-4[b-u8fvz14kj6] {
    border: 1px solid #d7dce2;
    border-radius: .4rem;
    background: #fff;
    padding: 0 0 .85rem;
    overflow: hidden;
}

    /* Heading becomes the strip. Slightly tinted rather than heavily coloured: several of these sit
       on screen at once, and strong fills would compete with the data inside them. */
    section.mb-4 > h2:first-child[b-u8fvz14kj6],
    section.mb-4 > h3:first-child[b-u8fvz14kj6] {
        margin: 0 0 .85rem;
        padding: .5rem .85rem;
        background: #eef2f7;
        border-bottom: 1px solid #d7dce2;
        /* A left accent gives each block an obvious start edge when scanning down the page. */
        border-left: 4px solid #4a6fa5;
        font-size: 1.05rem;
    }

    /* Everything that is not the heading gets the padding the section itself gave up, so the strip
       can run edge to edge. */
    section.mb-4 > *:not(h2):not(h3)[b-u8fvz14kj6] {
        margin-left: .85rem;
        margin-right: .85rem;
    }

    /* A table is the one thing that should reach the edges — inset borders on a bordered card read
       as a double rule. */
    section.mb-4 > .table-responsive[b-u8fvz14kj6] {
        margin-left: 0;
        margin-right: 0;
    }

/* ---- Support info (ⓘ by the company name) ---------------------------------------------------- */
.support-info-btn[b-u8fvz14kj6] {
    width: 1.6rem;
    height: 1.6rem;
    padding: 0;
    line-height: 1;
    font-style: italic;
    font-weight: 700;
    font-family: Georgia, "Times New Roman", serif;   /* a serif "i" reads as the info glyph */
}

.support-info-backdrop[b-u8fvz14kj6] {
    position: fixed;
    inset: 0;
    z-index: 1080;                 /* above the sticky header, below Blazor's reconnect overlay */
    background: rgba(0, 0, 0, .45);
    display: grid;
    place-items: center;
    padding: 1rem;
}

.support-info-card[b-u8fvz14kj6] {
    background: #fff;
    border-radius: .5rem;
    padding: 1.25rem;
    width: min(30rem, 100%);
    max-height: 85vh;
    overflow: auto;
    box-shadow: 0 .5rem 1.5rem rgba(0, 0, 0, .3);
}
/* /Components/Pages/Customers/DirectionPrint.razor.rz.scp.css */
.direction-print[b-csz98t1ff7] {
    max-width: 800px;
    margin: 1.5rem auto;
    padding: 0 1rem;
    font-family: system-ui, "Segoe UI", sans-serif;
    color: #000;
}

.direction-print h1[b-csz98t1ff7] {
    font-size: 1.6rem;
    margin-bottom: .25rem;
}

.direction-print .meta[b-csz98t1ff7] {
    color: #555;
    font-size: .9rem;
    margin: 0 0 .5rem;
}

.direction-print .desc[b-csz98t1ff7] {
    font-style: italic;
    color: #333;
}

.direction-print .body[b-csz98t1ff7]  img {
    max-width: 100%;
    height: auto;
}

.no-print[b-csz98t1ff7] {
    max-width: 800px;
    margin: 1rem auto 0;
    padding: 0 1rem;
}

@media print {
    .no-print[b-csz98t1ff7] {
        display: none !important;
    }
}
/* /Components/Pages/Customers/Tabs/CameraMapPanel.razor.rz.scp.css */
.cam-stage[b-0jk4lm4hef] {
    flex: 1 1 30rem;
    min-width: 20rem;
}

/* The map canvas: background image with an SVG cone overlay and absolutely-positioned camera markers. */
.cam-canvas[b-0jk4lm4hef] {
    position: relative;
    display: inline-block;
    max-width: 100%;
    border: 1px solid var(--bs-border-color, #ced4da);
    border-radius: .25rem;
    overflow: hidden;
    touch-action: none; /* let pointer drag work without the browser panning */
    user-select: none;
}

.cam-img[b-0jk4lm4hef] {
    display: block;
    width: 100%;
    height: auto;
    pointer-events: none;
}

/* FoV cones layer — sits above the image, below the markers; never intercepts pointer events. */
.cam-svg[b-0jk4lm4hef] {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    pointer-events: none;
}

/* A camera marker, centered on its X/Y percentage point. */
.cam-marker[b-0jk4lm4hef] {
    position: absolute;
    transform: translate(-50%, -50%);
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 2px;
    cursor: grab;
    z-index: 2;
}

.cam-marker.cam-ro[b-0jk4lm4hef] { cursor: default; }
.cam-marker:active[b-0jk4lm4hef] { cursor: grabbing; }

.cam-dot[b-0jk4lm4hef] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 2rem;
    height: 1.25rem;
    padding: 0 .35rem;
    font-size: .62rem;
    font-weight: 700;
    letter-spacing: .02em;
    color: #fff;
    background: #dc3545;
    border: 2px solid #fff;
    border-radius: .35rem;
    box-shadow: 0 1px 3px rgba(0, 0, 0, .4);
}

.cam-marker.cam-sel .cam-dot[b-0jk4lm4hef] {
    outline: 2px solid #0d6efd;
    outline-offset: 1px;
}

.cam-label[b-0jk4lm4hef] {
    font-size: .68rem;
    line-height: 1;
    padding: 1px 4px;
    background: rgba(255, 255, 255, .85);
    border-radius: 3px;
    color: #212529;
    max-width: 9rem;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

/* Drag-to-aim handle shown on the selected camera. */
.cam-rot-handle[b-0jk4lm4hef] {
    position: absolute;
    width: 14px;
    height: 14px;
    transform: translate(-50%, -50%);
    background: #0d6efd;
    border: 2px solid #fff;
    border-radius: 50%;
    box-shadow: 0 1px 3px rgba(0, 0, 0, .4);
    cursor: grab;
    z-index: 3;
}

.cam-rot-handle:active[b-0jk4lm4hef] { cursor: grabbing; }

/* Cable runs (SVG polylines). The transparent "hit" line widens the clickable target; the parent svg is
   pointer-events:none, so the hit line opts back in to receive the select click. */
.cam-cable-hit[b-0jk4lm4hef] {
    pointer-events: stroke;
    cursor: pointer;
}

.cam-cable[b-0jk4lm4hef] {
    pointer-events: none;
    stroke-linejoin: round;
    stroke-linecap: round;
}

.cam-cable-sel[b-0jk4lm4hef] {
    filter: drop-shadow(0 0 1px #0d6efd);
}

/* Full-canvas overlay that captures the scale measuring-line drag (only present in "set scale" mode). */
.cam-scale-surface[b-0jk4lm4hef] {
    position: absolute;
    inset: 0;
    z-index: 5;
    cursor: crosshair;
    background: rgba(102, 16, 242, .04);
    touch-action: none;
}

/* Bottom-right resize grip to scale the whole map. */
.cam-resize-handle[b-0jk4lm4hef] {
    position: absolute;
    right: 0;
    bottom: 0;
    width: 16px;
    height: 16px;
    cursor: nwse-resize;
    background: linear-gradient(135deg, transparent 50%, rgba(13, 110, 253, .8) 50%);
    z-index: 4;
}

/* Selected-camera editor beside the canvas. */
.cam-editor[b-0jk4lm4hef] {
    flex: 0 0 20rem;
    max-width: 22rem;
    padding: .75rem;
    border: 1px solid var(--bs-border-color, #ced4da);
    border-radius: .375rem;
    background: var(--bs-body-bg, #fff);
}
/* /Components/Pages/Customers/Tabs/DocumentsPanel.razor.rz.scp.css */
/* Folder icon size for the Root button and the file listing (the tree nodes are a child component with
   its own scoped copy of this rule). */
.folder-icon[b-qfhs0z9oiq] {
    font-size: 1.2rem;
    line-height: 1;
}

.doc-dropzone[b-qfhs0z9oiq] {
    position: relative;
    border: 2px dashed #adb5bd;
    border-radius: 0.5rem;
    padding: 1rem;
    text-align: center;
    color: #6c757d;
    max-width: 32rem;
}

.doc-dropzone.dragover[b-qfhs0z9oiq] {
    border-color: #0d6efd;
    background: rgba(13, 110, 253, 0.06);
    color: #0d6efd;
}

.doc-dropzone-input[b-qfhs0z9oiq] {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    opacity: 0;
    cursor: pointer;
}
/* /Components/Pages/Customers/Tabs/FloorPlanPanel.razor.rz.scp.css */
.fp-palette[b-ubtmr5zze0] {
    min-width: 11rem;
    max-width: 13rem;
}

.fp-stage[b-ubtmr5zze0] {
    flex: 1 1 auto;
    min-width: 0;
}

/* Horizontal Draw toolbar above the canvas. */
.fp-drawbar .fp-tool[b-ubtmr5zze0] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: .25rem .45rem;
    line-height: 1;
}

.fp-drawbar .fp-tool svg[b-ubtmr5zze0] { display: block; }
.fp-drawbar .fp-width[b-ubtmr5zze0] { width: auto; }
.fp-drawbar .form-control-color[b-ubtmr5zze0] { width: 2rem; padding: .12rem; }

.fp-canvas[b-ubtmr5zze0] {
    position: relative;
    display: inline-block;
    /* Cap the width so the plan doesn't stretch across the whole page on wide screens. */
    max-width: min(100%, 760px);
    border: 1px solid #dee2e6;
    background: #f8f9fa;
    line-height: 0;
}

.fp-img[b-ubtmr5zze0] {
    display: block;
    max-width: 100%;
    height: auto;
    user-select: none;
    -webkit-user-drag: none;
}

.fp-marker[b-ubtmr5zze0] {
    position: absolute;
    transform: translate(-50%, -50%);
    display: flex;
    flex-direction: column;
    align-items: center;
    cursor: grab;
    touch-action: none;
    line-height: 1;
}

.fp-marker.fp-ro[b-ubtmr5zze0] {
    cursor: default;
}

/* Equipment dot: a coloured circle with a short type abbreviation (icon font isn't loaded). */
.fp-dot[b-ubtmr5zze0] {
    color: #fff;
    background: #0d6efd;
    border-radius: 50%;
    width: 2rem;
    height: 2rem;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: .6rem;
    font-weight: 700;
    letter-spacing: -.02em;
    box-shadow: 0 0 0 2px #fff, 0 1px 3px rgba(0, 0, 0, .45);
}

/* Per-marker shape (default is the circle above). Square/diamond/triangle drop the round corners; the diamond
   rotates the box (text is counter-rotated to stay upright); the triangle clips to a wedge. clip-path/rotate
   also clip the white ring on non-circle shapes, which is fine. */
.fp-dot.shape-square[b-ubtmr5zze0] { border-radius: 4px; }
.fp-dot.shape-diamond[b-ubtmr5zze0] { border-radius: 3px; transform: rotate(45deg); }
.fp-dot.shape-diamond .fp-dot-text[b-ubtmr5zze0] { transform: rotate(-45deg); }
.fp-dot.shape-triangle[b-ubtmr5zze0] {
    border-radius: 0;
    box-shadow: 0 1px 3px rgba(0, 0, 0, .45);
    clip-path: polygon(50% 4%, 96% 96%, 4% 96%);
    align-items: flex-end;
    padding-bottom: .15rem;
}

/* Colour families, shared by the canvas dots and the palette swatches. */
.fp-marker.fp-net .fp-dot[b-ubtmr5zze0] { background: #0d6efd; }   /* network gear — blue */
.fp-marker.fp-end .fp-dot[b-ubtmr5zze0] { background: #198754; }   /* endpoints — green */
.fp-marker.fp-cam .fp-dot[b-ubtmr5zze0] { background: #dc3545; }   /* cameras — red */
.fp-marker.fp-pow .fp-dot[b-ubtmr5zze0] { background: #6c757d; }   /* power / racks / servers — grey */
.fp-marker.fp-other .fp-dot[b-ubtmr5zze0] { background: #212529; } /* other — dark */

.fp-swatch[b-ubtmr5zze0] {
    display: inline-block;
    flex: 0 0 auto;
    width: .9rem;
    height: .9rem;
    border-radius: 50%;
    background: #0d6efd;
}

.fp-swatch.fp-net[b-ubtmr5zze0] { background: #0d6efd; }
.fp-swatch.fp-end[b-ubtmr5zze0] { background: #198754; }
.fp-swatch.fp-cam[b-ubtmr5zze0] { background: #dc3545; }
.fp-swatch.fp-pow[b-ubtmr5zze0] { background: #6c757d; }
.fp-swatch.fp-other[b-ubtmr5zze0] { background: #212529; }

/* Palette swatch previews the shape chosen for new markers. */
.fp-swatch.swatch-square[b-ubtmr5zze0] { border-radius: 2px; }
.fp-swatch.swatch-diamond[b-ubtmr5zze0] { border-radius: 1px; transform: rotate(45deg); }
.fp-swatch.swatch-triangle[b-ubtmr5zze0] { border-radius: 0; clip-path: polygon(50% 0, 100% 100%, 0 100%); }

.fp-label[b-ubtmr5zze0] {
    font-size: .7rem;
    background: rgba(0, 0, 0, .65);
    color: #fff;
    padding: 0 .25rem;
    border-radius: .2rem;
    margin-top: 2px;
    white-space: nowrap;
    max-width: 9rem;
    overflow: hidden;
    text-overflow: ellipsis;
}

/* Vector annotation overlay (sits between the image and the markers). */
.fp-svg[b-ubtmr5zze0] {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    pointer-events: none; /* empty areas pass clicks through to markers / placement */
    overflow: visible;
}

/* Shapes are click-selectable only when the plan is editable. */
.fp-canvas:not(.fp-ro) .fp-shape-el[b-ubtmr5zze0] {
    pointer-events: visibleStroke;
    cursor: pointer;
}

.fp-shape-sel .fp-shape-el[b-ubtmr5zze0] {
    stroke-dasharray: 3 2;
}

.fp-handle[b-ubtmr5zze0] {
    fill: #fff;
    stroke: #0d6efd;
    stroke-width: 1;
    vector-effect: non-scaling-stroke;
    pointer-events: all;
    cursor: pointer;
}

.fp-draw-surface[b-ubtmr5zze0] {
    pointer-events: all;
    cursor: crosshair;
}

/* Standalone text box (an item with no equipment dot — just positioned text). */
.fp-textbox[b-ubtmr5zze0] {
    position: absolute;
    transform: translate(-50%, -50%);
    cursor: grab;
    touch-action: none;
    line-height: 1.15;
    font-size: .8rem;
    font-weight: 600;
    color: #212529;
    background: rgba(255, 255, 255, .8);
    padding: .05rem .3rem;
    border-radius: .2rem;
    white-space: pre-wrap;
    max-width: 14rem;
    text-align: center;
}

.fp-textbox.fp-ro[b-ubtmr5zze0] { cursor: default; }

/* Bottom-right corner handle to scale the whole plan (Paint-style). Editor-only. */
.fp-resize-handle[b-ubtmr5zze0] {
    position: absolute;
    right: -1px;
    bottom: -1px;
    width: 16px;
    height: 16px;
    background: linear-gradient(135deg, transparent 45%, #0d6efd 45%, #0d6efd 100%);
    border: 1px solid #fff;
    border-radius: 0 0 3px 0;
    cursor: nwse-resize;
    touch-action: none;
    z-index: 5;
    line-height: 0;
}

/* Floating edit card, anchored next to the clicked marker. */
.fp-editor[b-ubtmr5zze0] {
    position: absolute;
    z-index: 30;
    width: 17rem;
    background: #fff;
    border: 1px solid #dee2e6;
    border-radius: .375rem;
    box-shadow: 0 .5rem 1rem rgba(0, 0, 0, .15);
    padding: .75rem;
    line-height: 1.5;
    cursor: default;
}
/* /Components/Pages/Customers/Tabs/FolderTreeNode.razor.rz.scp.css */
.folder-row[b-6uk8r8743p] {
    display: flex;
    align-items: center;
    gap: .25rem;
    padding: .1rem 0;
}

.folder-row.active[b-6uk8r8743p] {
    font-weight: 600;
}

.folder-caret[b-6uk8r8743p] {
    border: 0;
    background: none;
    width: 1.1rem;
    padding: 0;
    color: #6c757d;
    cursor: pointer;
    line-height: 1;
}

.folder-caret-spacer[b-6uk8r8743p] {
    display: inline-block;
    width: 1.1rem;
}

.folder-icon[b-6uk8r8743p] {
    font-size: 1.2rem; /* a little bigger than the surrounding text */
    line-height: 1;
}

.folder-name[b-6uk8r8743p] {
    color: inherit;
}

/* Nested level: indent + a left guide line so the hierarchy reads as a tree. */
.folder-children[b-6uk8r8743p] {
    margin-left: .55rem;
    padding-left: .75rem;
    border-left: 1px solid #dee2e6;
}
/* /Components/Pages/Customers/Tabs/HierarchyPanel.razor.rz.scp.css */
/* Org-chart tree: nested <ul> drawn with CSS connectors, so it stays plain accessible markup
   (no canvas, no charting library) and prints/zooms like the rest of the page. */

.org-scroll[b-ngcjfmc7hq] {
    overflow-x: auto; /* wide org charts scroll here, never the page body */
    padding: .5rem .25rem 1rem;
}

.org-tree[b-ngcjfmc7hq],
.org-tree ul[b-ngcjfmc7hq] {
    list-style: none;
    margin: 0;
    padding: 0;
}

.org-tree li[b-ngcjfmc7hq] {
    position: relative;
    padding-left: 1.75rem;
    margin: .35rem 0;
}

/* Elbow connectors: a vertical spine down each level, and a horizontal stub to each node. */
.org-tree li[b-ngcjfmc7hq]::before {
    content: "";
    position: absolute;
    top: 0;
    bottom: 0;
    left: .6rem;
    border-left: 2px solid rgba(33, 37, 41, .28);
}

.org-tree li[b-ngcjfmc7hq]::after {
    content: "";
    position: absolute;
    top: 1.15rem;
    left: .6rem;
    width: .9rem;
    border-top: 2px solid rgba(33, 37, 41, .28);
}

/* The last child's spine stops at its own elbow instead of running past it. */
.org-tree li:last-child[b-ngcjfmc7hq]::before {
    bottom: auto;
    height: 1.15rem;
}

/* Top-level (Directors) need no incoming connector. */
.org-tree > li[b-ngcjfmc7hq] {
    padding-left: 0;
}

.org-tree > li[b-ngcjfmc7hq]::before,
.org-tree > li[b-ngcjfmc7hq]::after {
    display: none;
}

.org-node[b-ngcjfmc7hq] {
    display: inline-block;
    min-width: 13rem;
    max-width: 20rem;
    padding: .4rem .6rem;
    border: 1px solid rgba(33, 37, 41, .2);
    border-left-width: 4px;
    border-radius: .375rem;
    background: #fff;
}

.org-name[b-ngcjfmc7hq] {
    font-weight: 600;
    line-height: 1.2;
}

.org-meta[b-ngcjfmc7hq] {
    font-size: .8rem;
    color: #6c757d;
    line-height: 1.3;
    overflow-wrap: anywhere;
}

/* Level colours match the count badges above the chart. */
.org-director[b-ngcjfmc7hq] {
    border-left-color: #0d6efd;
    background: #f2f7ff;
}

.org-manager[b-ngcjfmc7hq] {
    border-left-color: #0dcaf0;
    background: #f2fcff;
}

.org-staff[b-ngcjfmc7hq] {
    border-left-color: #adb5bd;
}

/* Role badges inside a chart node. A person can hold several, so they wrap rather than stretch the
   node — the tree's column widths are driven by node width. */
.org-roles[b-ngcjfmc7hq] {
    display: flex;
    flex-wrap: wrap;
    gap: .15rem;
    justify-content: center;
    margin: .15rem 0;
}

.org-roles .badge[b-ngcjfmc7hq] {
    font-size: .65rem;
    font-weight: 500;
}
/* /Components/Pages/Customers/Tabs/MasterDevicePanel.razor.rz.scp.css */
/* Compact device editor: a dense field grid, up to 10 columns on wide screens. */
.dev-edit-grid[b-3frycfmkid] {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.3rem 0.6rem;
    align-items: end;
}

@media (min-width: 768px) {
    .dev-edit-grid[b-3frycfmkid] {
        grid-template-columns: repeat(5, minmax(0, 1fr));
    }
}

@media (min-width: 1200px) {
    .dev-edit-grid[b-3frycfmkid] {
        grid-template-columns: repeat(10, minmax(0, 1fr));
    }
}

.dev-edit-cell .form-check[b-3frycfmkid] {
    padding-top: 0.15rem;
}

/* Small round copy buttons (C / U / P) that sit right after a value in the device list. */
.dev-dot[b-3frycfmkid] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 1.15rem;
    height: 1.15rem;
    margin-left: 0.25rem;
    padding: 0;
    font-size: 0.62rem;
    font-weight: 600;
    line-height: 1;
    color: #556;
    background: #fff;
    border: 1px solid #b7b7c2;
    border-radius: 50%;
    cursor: pointer;
    vertical-align: middle;
}

.dev-dot:hover[b-3frycfmkid] {
    background: #eef1ff;
    border-color: #8a8ad0;
    color: #223;
}

/* The password copy button reads as a credential action. */
.dev-dot-pw[b-3frycfmkid] {
    color: #a11550;
    border-color: #d79ab6;
}

.dev-dot-pw:hover[b-3frycfmkid] {
    background: #fdeef4;
    border-color: #b3557f;
    color: #7a0f3c;
}

/* Change/set-password triangle. */
.dev-tri[b-3frycfmkid] {
    margin-left: 0.3rem;
    padding: 0 0.15rem;
    font-size: 0.8rem;
    line-height: 1;
    color: #333;
    background: transparent;
    border: none;
    cursor: pointer;
    vertical-align: middle;
}

.dev-tri:hover[b-3frycfmkid] {
    color: #0d6efd;
}

/* Change-password mini dialog. */
.dev-pw-backdrop[b-3frycfmkid] {
    position: fixed;
    inset: 0;
    background: rgba(0, 0, 0, 0.35);
    z-index: 1050;
}

.dev-pw-modal[b-3frycfmkid] {
    position: fixed;
    top: 28%;
    left: 50%;
    transform: translateX(-50%);
    width: min(24rem, 92vw);
    z-index: 1051;
}
/* /Components/Pages/Customers/Tabs/NetworkDiagramPanel.razor.rz.scp.css */
.nd-palette[b-ueq1jfdjqr] {
    flex: 0 0 12rem;
    max-width: 12rem;
}

.nd-stage[b-ueq1jfdjqr] {
    flex: 1 1 30rem;
    min-width: 0;
}

/* The drawing surface. Nodes are positioned by their center (% of this box); links live in the SVG overlay. */
.nd-canvas[b-ueq1jfdjqr] {
    position: relative;
    width: 100%;
    max-width: 1100px;
    height: 560px;
    border: 1px solid #adb5bd;
    border-radius: .375rem;
    background-color: #fff;
    background-image:
        linear-gradient(#eef1f4 1px, transparent 1px),
        linear-gradient(90deg, #eef1f4 1px, transparent 1px);
    background-size: 28px 28px;
    overflow: hidden;
    user-select: none;
    touch-action: none;
}

.nd-svg[b-ueq1jfdjqr] {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
}

.nd-link-line[b-ueq1jfdjqr] { fill: none; }
.nd-link-hit[b-ueq1jfdjqr] { stroke: transparent; cursor: pointer; }
.nd-link.nd-link-sel .nd-link-line[b-ueq1jfdjqr] { stroke-dasharray: 2 2 !important; filter: drop-shadow(0 0 1px #000); }

/* HTML midpoint label for a link (does not block clicks on the line under it). */
.nd-linklabel[b-ueq1jfdjqr] {
    position: absolute;
    transform: translate(-50%, -50%);
    background: rgba(255,255,255,.85);
    border-radius: .2rem;
    padding: 0 .2rem;
    font-size: .7rem;
    color: #212529;
    white-space: nowrap;
    pointer-events: none;
}

/* A device node: a colored badge + label/detail. Positioned by center. */
.nd-node[b-ueq1jfdjqr] {
    position: absolute;
    transform: translate(-50%, -50%);
    display: flex;
    align-items: center;
    gap: .35rem;
    padding: .2rem .4rem .2rem .25rem;
    background: #fff;
    border: 1.5px solid var(--nd-c, #0d6efd);
    border-radius: .35rem;
    box-shadow: 0 1px 2px rgba(0,0,0,.12);
    cursor: grab;
    max-width: 11rem;
}

.nd-node.nd-ro[b-ueq1jfdjqr] { cursor: default; }
.nd-node.nd-sel[b-ueq1jfdjqr] { outline: 2px solid #0d6efd; outline-offset: 1px; }
.nd-node.nd-connect-src[b-ueq1jfdjqr] { outline: 2px dashed #198754; outline-offset: 1px; }

.nd-badge[b-ueq1jfdjqr] {
    flex: 0 0 auto;
    min-width: 1.9rem;
    text-align: center;
    font-size: .68rem;
    font-weight: 700;
    color: #fff;
    background: var(--nd-c, #0d6efd);
    border-radius: .25rem;
    padding: .1rem .25rem;
    line-height: 1.1;
}

.nd-text[b-ueq1jfdjqr] { display: flex; flex-direction: column; line-height: 1.05; min-width: 0; }
.nd-label[b-ueq1jfdjqr] { font-size: .78rem; font-weight: 600; color: #212529; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.nd-detail[b-ueq1jfdjqr] { font-size: .68rem; color: #6c757d; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }

/* A free-text node (no box/badge). */
.nd-textnode[b-ueq1jfdjqr] {
    position: absolute;
    transform: translate(-50%, -50%);
    font-size: .85rem;
    font-weight: 600;
    color: #212529;
    cursor: grab;
    white-space: nowrap;
}
.nd-textnode.nd-ro[b-ueq1jfdjqr] { cursor: default; }
.nd-textnode.nd-sel[b-ueq1jfdjqr] { outline: 2px solid #0d6efd; outline-offset: 2px; }

/* Floating editor card for the selected node / link. */
/* Centered, scrollable so the Save/Delete/Cancel buttons are always reachable regardless of node position. */
.nd-editor[b-ueq1jfdjqr] {
    position: fixed;
    left: 50%;
    top: 50%;
    right: auto;
    transform: translate(-50%, -50%);
    z-index: 1080;
    width: min(22rem, 92vw);
    max-height: 85vh;
    overflow-y: auto;
    background: #fff;
    border: 1px solid #ced4da;
    border-radius: .375rem;
    box-shadow: 0 .5rem 1.5rem rgba(0,0,0,.3);
    padding: .8rem;
}

.nd-resize-handle[b-ueq1jfdjqr] {
    position: absolute;
    right: 0;
    bottom: 0;
    width: 16px;
    height: 16px;
    cursor: nwse-resize;
    background: linear-gradient(135deg, transparent 50%, #adb5bd 50%);
    border-bottom-right-radius: .375rem;
    touch-action: none;
}

/* Photo to Diagram: source-photo filmstrip */
.nd-photos .nd-photo[b-ueq1jfdjqr] {
    position: relative;
    width: 7.5rem;
    height: 5.5rem;
    border: 1px solid #ced4da;
    border-radius: .375rem;
    overflow: hidden;
    background: #f8f9fa;
}

.nd-photos .nd-photo img[b-ueq1jfdjqr] {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.nd-photos .nd-photo-del[b-ueq1jfdjqr] {
    position: absolute;
    top: .15rem;
    right: .15rem;
    line-height: 1;
    padding: 0 .35rem;
    background: rgba(255,255,255,.85);
}

/* Photo to Diagram: "choose from Documents" picker thumbnails */
.nd-library .nd-libitem[b-ueq1jfdjqr] {
    position: relative;
    width: 6rem;
    height: 4.5rem;
    border: 1px solid #ced4da;
    border-radius: .375rem;
    overflow: hidden;
    cursor: pointer;
    display: block;
}

.nd-library .nd-libitem img[b-ueq1jfdjqr] {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.nd-library .nd-libitem input[b-ueq1jfdjqr] {
    position: absolute;
    top: .2rem;
    left: .2rem;
    z-index: 1;
}

/* Photo to Diagram: source-photo selection + canvas background mockup */
.nd-photos .nd-photo[b-ueq1jfdjqr] { cursor: pointer; }
.nd-photos .nd-photo-sel[b-ueq1jfdjqr] { outline: 3px solid #0d6efd; outline-offset: 1px; }
.nd-photos .nd-photo-bg[b-ueq1jfdjqr] { border-color: #198754; }
.nd-photos .nd-photo-badge[b-ueq1jfdjqr] {
    position: absolute;
    bottom: .15rem;
    left: .15rem;
    background: #198754;
    color: #fff;
    font-size: .6rem;
    font-weight: 600;
    padding: 0 .25rem;
    border-radius: .2rem;
    line-height: 1.3;
}

.nd-canvas.nd-has-bg[b-ueq1jfdjqr] { background: #fff; }
.nd-canvas .nd-bg[b-ueq1jfdjqr] {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: contain;
    z-index: 0;
    pointer-events: none;
    user-select: none;
}

/* 2D rack elevation for reports */
.nd-rack[b-ueq1jfdjqr] {
    display: inline-block;
    border: 1px solid #dee2e6;
    border-radius: .375rem;
    padding: .25rem;
    background: #fff;
    max-width: 100%;
    overflow: auto;
}

/* Photo to Diagram: drag-to-select-an-area preview */
.vc-wrap[b-ueq1jfdjqr] {
    position: relative;
    display: inline-block;
    max-width: 32rem;
    line-height: 0;
}
.vc-img[b-ueq1jfdjqr] {
    max-width: 100%;
    height: auto;
    display: block;
    cursor: crosshair;
    touch-action: none;
    border: 1px solid #ced4da;
    border-radius: .375rem;
}
.vc-box[b-ueq1jfdjqr] {
    position: absolute;
    display: none;
    border: 2px solid #0d6efd;
    background: rgba(13,110,253,.15);
    pointer-events: none;
}

/* Compare view: read-only diagrams side by side (like the Racks "Compare racks" strip). */
.nd-compare-strip[b-ueq1jfdjqr] {
    display: flex;
    flex-wrap: wrap;
    gap: 1rem;
    align-items: flex-start;
}

.nd-compare-col[b-ueq1jfdjqr] {
    flex: 0 0 auto;
}
/* /Components/Pages/Customers/Tabs/RackElevation.razor.rz.scp.css */
.rack-wrap[b-oz50jyf61w] {
    display: flex;
    align-items: flex-start;
    gap: 2px;
}

.rack-gutter[b-oz50jyf61w] {
    display: flex;
    flex-direction: column;
}

.rack-uno[b-oz50jyf61w] {
    height: var(--ru, 28px);
    width: 36px;
    display: flex;
    align-items: center;
    justify-content: flex-end;
    padding-right: 6px;
    font-size: 11px;
    color: #6c757d;
    box-sizing: border-box;
}

.rack-grid[b-oz50jyf61w] {
    display: grid;
    grid-auto-rows: var(--ru, 28px);
    width: 300px;
    border: 2px solid #495057;
    border-radius: 4px;
    background: #f1f3f5;
    overflow: hidden;
}

.rack-slot[b-oz50jyf61w] {
    border-top: 1px dashed #dee2e6;
    font-size: 10px;
    color: #ced4da;
    display: flex;
    align-items: center;
    padding-left: 8px;
    box-sizing: border-box;
}

.rack-slot.dragover[b-oz50jyf61w] {
    background: #cfe2ff;
    color: #0d6efd;
}

.rack-unit[b-oz50jyf61w] {
    box-sizing: border-box;
    border: 1px solid rgba(0, 0, 0, .25);
    border-radius: 3px;
    margin: 1px;
    padding: 1px 6px;
    font-size: 12px;
    line-height: 1.15;
    color: #fff;
    overflow: hidden;
    cursor: pointer;
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.rack-unit .text-truncate[b-oz50jyf61w] {
    max-width: 100%;
}

.rack-unit-meta[b-oz50jyf61w] {
    font-size: 10px;
    opacity: .85;
}

/* Compact variant — narrower grid and no meta line, so many racks fit side by side. */
.rack-wrap.compact .rack-grid[b-oz50jyf61w] { width: 210px; }
.rack-wrap.compact .rack-uno[b-oz50jyf61w] { width: 28px; font-size: 10px; }
.rack-wrap.compact .rack-unit-meta[b-oz50jyf61w] { display: none; }

/* Tight variant — short rows (zoomed out so a tall rack fits one screen): drop the detail line + shrink text. */
.rack-wrap.tight .rack-unit-meta[b-oz50jyf61w] { display: none; }
.rack-wrap.tight .rack-unit[b-oz50jyf61w] { font-size: 11px; padding: 0 4px; }
.rack-wrap.tight .rack-uno[b-oz50jyf61w] { font-size: 10px; }

/* Type colors */
.ru-server[b-oz50jyf61w] { background: #0d6efd; }
.ru-switch[b-oz50jyf61w] { background: #198754; }
.ru-firewall[b-oz50jyf61w] { background: #dc3545; }
.ru-router[b-oz50jyf61w] { background: #6610f2; }
.ru-patchpanel[b-oz50jyf61w] { background: #6c757d; }
.ru-pdu[b-oz50jyf61w] { background: #fd7e14; }
.ru-ups[b-oz50jyf61w] { background: #212529; }
.ru-kvm[b-oz50jyf61w] { background: #20c997; }
.ru-storage[b-oz50jyf61w] { background: #0dcaf0; color: #212529; }
.ru-shelf[b-oz50jyf61w] { background: #8a5a44; }
.ru-blank[b-oz50jyf61w] { background: #ced4da; color: #212529; }
.ru-other[b-oz50jyf61w] { background: #495057; }
/* /Components/Pages/Customers/Tabs/RacksPanel.razor.rz.scp.css */
/* The rack elevation itself lives in RackElevation.razor (and RackElevation.razor.css). This file styles only
   the panel chrome around it. */

/* Side-by-side compare strip: each rack is a column; scroll horizontally when there are many. */
.rack-strip[b-48umse8v43] {
    display: flex;
    gap: 1rem;
    overflow-x: auto;
    align-items: flex-start;
    padding-bottom: .5rem;
}

.rack-col[b-48umse8v43] {
    flex: 0 0 auto;
}

.rack-col-head[b-48umse8v43] {
    margin-bottom: .25rem;
}
/* /Components/Pages/HelpArticles.razor.rz.scp.css */
/* Drop target for importing a document into the article editor. Dashed border reads as "put
   something here" without needing an icon or JS drag handlers — the file input itself already
   accepts a dropped file. */
.drop-zone[b-82w8tahswn] {
    border: 2px dashed #adb5bd;
    background: #f8f9fa;
}

.drop-zone:hover[b-82w8tahswn] {
    border-color: #0d6efd;
    background: #f2f7ff;
}
/* /Components/Pages/Login.razor.rz.scp.css */
.login-page[b-dk0zj99aid] {
    min-height: 100vh;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 1.25rem;
    padding: 2rem;
    background: linear-gradient(135deg, #0a1a33 0%, #15294d 55%, #2a1f52 100%);
}

.login-card[b-dk0zj99aid] {
    width: 100%;
    max-width: 23rem;
    background: #fff;
    border-radius: 14px;
    padding: 2rem 2rem 1.75rem;
    box-shadow: 0 18px 50px rgba(0, 0, 0, .35);
}

.login-brand[b-dk0zj99aid] {
    display: flex;
    align-items: center;
    gap: .75rem;
    margin-bottom: 1.5rem;
}

.login-logo[b-dk0zj99aid] {
    /* Wide wordmark (163x22): size by width so it renders near native resolution and
       fits the 23rem card. Sizing by height would make it ~400px wide and overflow. */
    width: 168px;
    height: auto;
    display: block;
}

.login-name[b-dk0zj99aid] {
    font-weight: 700;
    font-size: 1.15rem;
    line-height: 1.05;
}

.login-tag[b-dk0zj99aid] {
    color: #6c757d;
    font-size: .8rem;
}

.login-foot[b-dk0zj99aid] {
    text-align: center;
}

.login-copy[b-dk0zj99aid] {
    color: rgba(255, 255, 255, .65);
}
/* /Components/Pages/MyTicketDetail.razor.rz.scp.css */
/* Scoped styles for the link-based requester portal. Mirrors PublicRequest.razor.css — Blazor scoped
   CSS is compiled with a per-component attribute, so those .public-* rules apply ONLY to that component
   and would silently do nothing here. MyTicketDetail.razor.css carries the same block for the same
   reason; keep the two in sync. */

.req-page[b-lyytb17e7x] {
    min-height: 100vh;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 1.25rem;
    padding: 2.5rem 1rem;
    background: linear-gradient(135deg, #0a1a33 0%, #15294d 55%, #2a1f52 100%);
}

.req-card[b-lyytb17e7x] {
    width: 100%;
    /* Wider than the intake form: this holds a table of requests. */
    max-width: 56rem;
    background: #fff;
    border-radius: 14px;
    padding: 2rem 2rem 1.75rem;
    box-shadow: 0 18px 50px rgba(0, 0, 0, .35);
    margin-block: auto;
}

.req-brand[b-lyytb17e7x] {
    display: flex;
    align-items: center;
    gap: .75rem;
    margin-bottom: 1.5rem;
}

.req-logo[b-lyytb17e7x] {
    width: 168px;
    height: auto;
    display: block;
}

.req-name[b-lyytb17e7x] {
    font-weight: 700;
    font-size: 1.15rem;
    line-height: 1.05;
}

.req-tag[b-lyytb17e7x] {
    color: #6c757d;
    font-size: .8rem;
}

.req-foot[b-lyytb17e7x] {
    text-align: center;
}

/* Preserve the line breaks in problem text and plain-text messages without a <pre> font. */
.req-pre[b-lyytb17e7x] {
    white-space: pre-wrap;
    word-break: break-word;
}
/* /Components/Pages/MyTickets.razor.rz.scp.css */
/* Scoped styles for the link-based requester portal. Mirrors PublicRequest.razor.css — Blazor scoped
   CSS is compiled with a per-component attribute, so those .public-* rules apply ONLY to that component
   and would silently do nothing here. MyTicketDetail.razor.css carries the same block for the same
   reason; keep the two in sync. */

.req-page[b-b2310sm9oq] {
    min-height: 100vh;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 1.25rem;
    padding: 2.5rem 1rem;
    background: linear-gradient(135deg, #0a1a33 0%, #15294d 55%, #2a1f52 100%);
}

.req-card[b-b2310sm9oq] {
    width: 100%;
    /* Wider than the intake form: this holds a table of requests. */
    max-width: 56rem;
    background: #fff;
    border-radius: 14px;
    padding: 2rem 2rem 1.75rem;
    box-shadow: 0 18px 50px rgba(0, 0, 0, .35);
    margin-block: auto;
}

.req-brand[b-b2310sm9oq] {
    display: flex;
    align-items: center;
    gap: .75rem;
    margin-bottom: 1.5rem;
}

.req-logo[b-b2310sm9oq] {
    width: 168px;
    height: auto;
    display: block;
}

.req-name[b-b2310sm9oq] {
    font-weight: 700;
    font-size: 1.15rem;
    line-height: 1.05;
}

.req-tag[b-b2310sm9oq] {
    color: #6c757d;
    font-size: .8rem;
}

.req-foot[b-b2310sm9oq] {
    text-align: center;
}

/* Preserve the line breaks in problem text and plain-text messages without a <pre> font. */
.req-pre[b-b2310sm9oq] {
    white-space: pre-wrap;
    word-break: break-word;
}
/* /Components/Pages/NavigationAdmin.razor.rz.scp.css */
/* The sidebar editor. Dense rows of controls, so everything is sized down from the page defaults and
   the row is a grid rather than a flex run — the columns must line up down the whole list or it reads
   as noise. */

.nav-admin-head[b-snpnhnzsgw] {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-start;
    gap: 1rem;
    margin-bottom: 0.75rem;
}

    .nav-admin-head .lead[b-snpnhnzsgw] {
        font-size: 0.92rem;
        max-width: 70ch;
    }

.nav-admin-actions[b-snpnhnzsgw] {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
    margin-left: auto;
}

.nav-admin-note[b-snpnhnzsgw] {
    font-size: 0.78rem;
    color: #8a94a3;
}

.nav-admin-new[b-snpnhnzsgw] {
    display: flex;
    flex-wrap: wrap;
    gap: 0.6rem;
    margin: 1rem 0;
}

.nav-admin-addrow[b-snpnhnzsgw] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.5rem;
    padding: 0.75rem;
    margin-bottom: 1rem;
    border: 1px solid #dbe3ec;
    border-radius: 0.35rem;
    background: #f8fafc;
}

    .nav-admin-addrow input[b-snpnhnzsgw],
    .nav-admin-addrow select[b-snpnhnzsgw] { flex: 1 1 15rem; max-width: 22rem; }

/* One section card. */
.nav-sec[b-snpnhnzsgw] {
    border: 1px solid #dbe3ec;
    border-radius: 0.45rem;
    background: #fff;
    margin-bottom: 1rem;
    overflow: hidden;
}

.nav-sec-head[b-snpnhnzsgw] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.5rem;
    padding: 0.7rem 0.85rem;
    background: #f6f8fb;
    border-bottom: 1px solid #e9edf3;
}

.nav-sec-title[b-snpnhnzsgw] {
    flex: 0 1 18rem;
    font-weight: 600;
}

.nav-sec-kind[b-snpnhnzsgw],
.nav-sec-count[b-snpnhnzsgw] {
    font-size: 0.72rem;
    letter-spacing: 0.03em;
    text-transform: uppercase;
    color: #8a94a3;
}

.nav-sec-count[b-snpnhnzsgw] { margin-left: auto; }

/* One entry row. --nav-depth indents nested entries so the tree is readable without drawing lines. */
.nav-row[b-snpnhnzsgw] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.4rem;
    padding: 0.4rem 0.85rem;
    padding-left: calc(0.85rem + var(--nav-depth, 0) * 1.5rem);
    border-bottom: 1px solid #f2f5f9;
}

    .nav-row:last-child[b-snpnhnzsgw] { border-bottom: none; }

    .nav-row:hover[b-snpnhnzsgw] { background: #fbfcfe; }

.nav-row-label[b-snpnhnzsgw] {
    flex: 1 1 14rem;
    max-width: 20rem;
    font-size: 0.88rem;
}

.nav-row-kind[b-snpnhnzsgw] {
    flex: 0 0 auto;
    font-size: 0.75rem;
    color: #8a94a3;
    min-width: 5rem;
}

.nav-row-warn[b-snpnhnzsgw] { color: #b02a37; font-weight: 600; }
.nav-row-admin[b-snpnhnzsgw] { color: #b8860b; }

.nav-row-under[b-snpnhnzsgw],
.nav-row-move[b-snpnhnzsgw] {
    flex: 0 1 11rem;
    font-size: 0.82rem;
}

.nav-row-inherit[b-snpnhnzsgw] {
    display: inline-flex;
    align-items: center;
    gap: 0.25rem;
    font-size: 0.75rem;
    color: #5a6472;
    white-space: nowrap;
}

/* Groups count. Zero is called out — it means nobody but an admin can reach the page, which is almost
   always a mistake rather than a choice. */
.nav-row-groups[b-snpnhnzsgw] {
    display: inline-flex;
    align-items: center;
    gap: 0.2rem;
    padding: 0.1rem 0.45rem;
    border: 1px solid #d6e2f2;
    border-radius: 0.75rem;
    background: #eef3fa;
    color: #1b6ec2;
    font-size: 0.75rem;
    text-decoration: none;
    white-space: nowrap;
}

    .nav-row-groups.is-zero[b-snpnhnzsgw] {
        border-color: #f0d6a8;
        background: #fdf6e8;
        color: #8a6100;
    }

    .nav-row-groups-na[b-snpnhnzsgw] {
        border-color: #e9edf3;
        background: #f6f8fb;
        color: #b3bbc6;
    }

/* Square icon buttons, sized to stay tappable. */
.nav-btn[b-snpnhnzsgw] {
    min-width: 1.9rem;
    min-height: 1.9rem;
    border: 1px solid #dbe3ec;
    border-radius: 0.25rem;
    background: #fff;
    font-size: 0.78rem;
    line-height: 1;
    color: #5a6472;
    cursor: pointer;
}

    .nav-btn:hover:not(:disabled)[b-snpnhnzsgw] { background: #eef3fa; }

    .nav-btn:disabled[b-snpnhnzsgw] { opacity: 0.35; cursor: not-allowed; }

    .nav-btn:focus-visible[b-snpnhnzsgw] {
        outline: 2px solid #1b6ec2;
        outline-offset: 1px;
    }

    .nav-btn.nav-danger[b-snpnhnzsgw] { color: #b02a37; margin-left: auto; }

@media (max-width: 60rem) {
    .nav-row-under[b-snpnhnzsgw],
    .nav-row-move[b-snpnhnzsgw] { flex: 1 1 8rem; }

    .nav-btn.nav-danger[b-snpnhnzsgw] { margin-left: 0; }
}

/* Second block on the page — the company sections. Given its own heading so the two arrangements are
   plainly separate things: one is the sidebar, the other is what a company page shows. */
.nav-admin-h2[b-snpnhnzsgw] {
    margin-top: 2.5rem;
    padding-top: 1.25rem;
    border-top: 2px solid #e4e9f0;
}

.nav-admin-sub[b-snpnhnzsgw] {
    font-size: 0.9rem;
    color: #5a6472;
    max-width: 70ch;
}

/* A hidden or unavailable row: still listed so it can be brought back or removed, but plainly not live. */
.nav-row.is-dim[b-snpnhnzsgw] {
    opacity: 0.55;
    background: #fbfbfc;
}

/* The section key, shown because it is what the tab bar and every link are keyed by — renaming the
   label does not change it, and that is worth being able to see. */
.nav-row-key[b-snpnhnzsgw] {
    font-size: 0.72rem;
    color: #7a8594;
    background: #f2f4f8;
    border-radius: 0.2rem;
    padding: 0.05rem 0.3rem;
}

/* Per-page role assignment, opened from the 👥 button on a row. Indented to line up under its row so
   it reads as belonging to that page rather than to the section. */
.nav-roles[b-snpnhnzsgw] {
    margin: 0 0 0.25rem;
    padding: 0.6rem 0.85rem 0.7rem;
    padding-left: calc(1.5rem + var(--nav-depth, 0) * 1.5rem);
    background: #f6f8fb;
    border-bottom: 1px solid #f2f5f9;
}

.nav-roles-head[b-snpnhnzsgw] {
    font-size: 0.85rem;
    margin-bottom: 0.5rem;
}

.nav-roles-note[b-snpnhnzsgw] {
    display: block;
    font-size: 0.75rem;
    color: #8a94a3;
}

.nav-role-row[b-snpnhnzsgw] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.5rem;
    padding: 0.2rem 0;
    max-width: 34rem;
}

.nav-role-name[b-snpnhnzsgw] {
    flex: 1 1 12rem;
    font-size: 0.85rem;
}

.nav-role-level[b-snpnhnzsgw] {
    flex: 0 0 11rem;
    font-size: 0.82rem;
}

/* An admin role's level is stated, not offered — they reach every page regardless. */
.nav-role-fixed[b-snpnhnzsgw] {
    flex: 0 0 11rem;
    font-size: 0.8rem;
    color: #5a6472;
    font-style: italic;
}

/* The 👥 count is a button now rather than a link out to the RBAC screen. */
button.nav-row-groups[b-snpnhnzsgw] {
    cursor: pointer;
    font: inherit;
    font-size: 0.75rem;
}

/* A hidden section keeps its place in the list, dimmed, so it can be brought back. */
.nav-sec.is-dim[b-snpnhnzsgw] { opacity: 0.6; }
/* /Components/Pages/PublicRequest.razor.rz.scp.css */
/* Scoped styles for the anonymous request form. These deliberately duplicate the look of
   Login.razor.css rather than reusing its classes: Blazor scoped CSS is compiled with a
   per-component attribute, so the .login-* rules apply ONLY to Login.razor and silently do
   nothing anywhere else. */

.public-page[b-4o03p8gnzw] {
    min-height: 100vh;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 1.25rem;
    /* Generous padding so the card never hugs the viewport edges, including on phones. */
    padding: 2.5rem 1rem;
    background: linear-gradient(135deg, #0a1a33 0%, #15294d 55%, #2a1f52 100%);
}

.public-card[b-4o03p8gnzw] {
    width: 100%;
    /* Wider than the sign-in card (23rem) because this holds a five-field form. */
    max-width: 34rem;
    background: #fff;
    border-radius: 14px;
    padding: 2rem 2rem 1.75rem;
    box-shadow: 0 18px 50px rgba(0, 0, 0, .35);
    /* auto margins rather than justify-content:center — a form taller than the viewport would
       otherwise overflow past the top edge with no way to scroll to it. */
    margin-block: auto;
}

.public-brand[b-4o03p8gnzw] {
    display: flex;
    align-items: center;
    gap: .75rem;
    margin-bottom: 1.5rem;
}

.public-logo[b-4o03p8gnzw] {
    /* Wide wordmark (163x22): size by width so it renders near native resolution. */
    width: 168px;
    height: auto;
    display: block;
}

.public-name[b-4o03p8gnzw] {
    font-weight: 700;
    font-size: 1.15rem;
    line-height: 1.05;
}

.public-tag[b-4o03p8gnzw] {
    color: #6c757d;
    font-size: .8rem;
}

.public-foot[b-4o03p8gnzw] {
    text-align: center;
}

/* Assistant suggestion block — visually distinct from the form fields so it reads as an answer,
   not another input. */
.assist[b-4o03p8gnzw] {
    background: #f2f7ff;
    border-color: #b6d4fe !important;
}

.assist-body[b-4o03p8gnzw] {
    white-space: pre-wrap;
    word-break: break-word;
}

.assist-excerpt[b-4o03p8gnzw] {
    font-size: .8rem;
    white-space: pre-wrap;
    word-break: break-word;
}

.public-copy[b-4o03p8gnzw] {
    color: rgba(255, 255, 255, .65);
    text-align: center;
}

/* Once an answer is showing, the card holds a whole article rather than a five-field form, and 34rem
   forces it into a ~430px column that reads like a receipt. Widened only in that state so the initial
   "How can we help?" card stays compact and approachable. */
.public-card-wide[b-4o03p8gnzw] {
    max-width: 62rem;
    transition: max-width .18s ease-out;
}

/* Long procedures can run past the fold; keep the answer scrollable inside the card so the Submit
   controls below it never get pushed off screen. */
.public-card-wide .assist[b-4o03p8gnzw] {
    max-height: 60vh;
    overflow-y: auto;
}

@media (prefers-reduced-motion: reduce) {
    .public-card-wide[b-4o03p8gnzw] { transition: none; }
}
/* /Components/Pages/Updates.razor.rz.scp.css */
/* One history row: a fixed time gutter so the entries line up into a timeline even though most of
   them have no recorded time and show a dash. */
.upd-item[b-84z3vu1w6z] {
    display: grid;
    grid-template-columns: 3.5rem 1fr;
    gap: 0.75rem;
    padding: 0.4rem 0;
    border-bottom: 1px solid #f0f2f5;
}

    .upd-item:last-child[b-84z3vu1w6z] { border-bottom: none; }

.upd-when[b-84z3vu1w6z] {
    font-variant-numeric: tabular-nums;
    font-size: 0.8rem;
    color: #7a8594;
    padding-top: 0.1rem;
    white-space: nowrap;
}

/* Where an entry came from. Deliberately faint — it is provenance for anyone auditing the record,
   not something to read while scanning the list. */
.upd-src[b-84z3vu1w6z] {
    font-size: 0.7rem;
    color: #9aa4b2;
    margin-top: 0.15rem;
}

.upd-card[b-84z3vu1w6z] {
    border: 1px solid #dbe3ec;
    border-radius: 0.25rem;
    background: #fbfcfe;
    padding: 0.6rem 0.75rem;
    margin-bottom: 0.5rem;
}

.upd-why[b-84z3vu1w6z] {
    font-size: 0.78rem;
    font-weight: 600;
    color: #1b6ec2;
}

/* One memory note. scroll-margin-top so a [[wiki link]] jump does not land the heading underneath
   the sticky header — without it the anchor arrives at a card whose title is off-screen. */
.upd-note[b-84z3vu1w6z] {
    scroll-margin-top: 5rem;
}

    .upd-note:target[b-84z3vu1w6z] {
        border-color: #1b6ec2;
        box-shadow: 0 0 0 0.15rem rgba(27, 110, 194, 0.15);
    }

/* Rendered Markdown from MarkdownLite. Sized down from the page defaults because these documents are
   long and are being read inside an admin panel, not as the page's own prose. */
.upd-md[b-84z3vu1w6z] {
    font-size: 0.85rem;
    line-height: 1.5;
}

    .upd-md[b-84z3vu1w6z]  p { margin-bottom: 0.5rem; }

    .upd-md[b-84z3vu1w6z]  .md-h {
        font-size: 0.9rem;
        font-weight: 600;
        margin: 0.9rem 0 0.35rem;
        color: #2c3e50;
    }

    .upd-md[b-84z3vu1w6z]  .md-list { margin-bottom: 0.5rem; padding-left: 1.2rem; }

    .upd-md[b-84z3vu1w6z]  .md-quote {
        border-left: 3px solid #dbe3ec;
        padding-left: 0.6rem;
        margin: 0.5rem 0;
        color: #5a6472;
    }

    /* Fenced blocks scroll rather than widen: a long command line must not stretch the whole page. */
    .upd-md[b-84z3vu1w6z]  .md-code {
        background: #f6f8fa;
        border: 1px solid #e4e9f0;
        border-radius: 0.25rem;
        padding: 0.5rem 0.6rem;
        margin: 0.5rem 0;
        font-size: 0.78rem;
        overflow-x: auto;
        white-space: pre;
    }

    .upd-md[b-84z3vu1w6z]  code {
        background: #f2f4f8;
        border-radius: 0.2rem;
        padding: 0.05rem 0.25rem;
        font-size: 0.92em;
    }

    .upd-md[b-84z3vu1w6z]  .md-code code { background: none; padding: 0; }

    .upd-md[b-84z3vu1w6z]  hr { margin: 0.8rem 0; opacity: 0.25; }

/* A [[wiki link]] — a pointer between notes. It stays visible when it resolves to nothing, because an
   unresolved link marks a note worth writing rather than a mistake. */
.upd-md[b-84z3vu1w6z]  .md-wiki,
.md-wiki[b-84z3vu1w6z] {
    display: inline-block;
    font-size: 0.75rem;
    background: #eef3fa;
    border: 1px solid #d6e2f2;
    border-radius: 0.75rem;
    padding: 0 0.4rem;
    margin-right: 0.25rem;
    color: #1b6ec2;
    text-decoration: none;
}

/* Runtime facts. Two columns on anything wider than a phone, stacked below that. */
.upd-facts[b-84z3vu1w6z] {
    display: grid;
    grid-template-columns: minmax(9rem, 14rem) 1fr;
    gap: 0.35rem 1rem;
    margin: 0 0 1rem;
    font-size: 0.85rem;
}

    .upd-facts dt[b-84z3vu1w6z] {
        font-weight: 600;
        color: #5a6472;
    }

    .upd-facts dd[b-84z3vu1w6z] { margin: 0; }

@media (max-width: 40rem) {
    .upd-facts[b-84z3vu1w6z] {
        grid-template-columns: 1fr;
        gap: 0 0;
    }

        .upd-facts dd[b-84z3vu1w6z] { margin: 0 0 0.5rem; }
}

/* Paths, versions and migration names line up and stay legible when they are long. */
.upd-fact-value[b-84z3vu1w6z] {
    font-family: ui-monospace, SFMono-Regular, Consolas, monospace;
    font-size: 0.8rem;
    overflow-wrap: anywhere;
}

.upd-doclist[b-84z3vu1w6z] {
    list-style: none;
    padding: 0;
    margin: 0 0 1rem;
    font-size: 0.85rem;
}

    .upd-doclist li[b-84z3vu1w6z] {
        display: flex;
        flex-wrap: wrap;
        gap: 0.5rem;
        align-items: baseline;
        padding: 0.25rem 0;
        border-bottom: 1px solid #f0f2f5;
    }

    .upd-doclist li:last-child[b-84z3vu1w6z] { border-bottom: none; }

/* A disclosure row — a notes section or a companion document. A real button rather than a styled
   span so it is reachable by keyboard and announces its expanded state to a screen reader. */
.upd-doc-toggle[b-84z3vu1w6z] {
    display: inline-flex;
    align-items: baseline;
    gap: 0.4rem;
    background: none;
    border: none;
    padding: 0;
    font: inherit;
    color: inherit;
    text-align: left;
    cursor: pointer;
}

    .upd-doc-toggle:hover .fw-semibold[b-84z3vu1w6z] { color: #1b6ec2; }

    .upd-doc-toggle:focus-visible[b-84z3vu1w6z] {
        outline: 2px solid #1b6ec2;
        outline-offset: 2px;
        border-radius: 0.15rem;
    }

.upd-caret[b-84z3vu1w6z] {
    color: #9aa4b2;
    font-size: 0.7rem;
    width: 0.7rem;
    flex: none;
}

.upd-doc-body[b-84z3vu1w6z] {
    flex-basis: 100%;
    margin-top: 0.5rem;
    padding: 0.6rem 0.75rem;
    border: 1px solid #e4e9f0;
    border-radius: 0.25rem;
    background: #fbfcfe;
    max-height: 34rem;
    overflow-y: auto;
}

/* The working notes are a fixed-width plain-text file: the indentation IS the structure, so the text
   is preserved exactly and allowed to scroll sideways rather than being re-wrapped. */
.upd-pre[b-84z3vu1w6z] {
    font-family: ui-monospace, SFMono-Regular, Consolas, monospace;
    font-size: 0.76rem;
    line-height: 1.45;
    color: #3a4452;
    white-space: pre;
    overflow-x: auto;
    margin: 0;
}

/* Provenance line under a live-read tab: the path, the time, and the way to force a re-read. */
.upd-source-foot[b-84z3vu1w6z] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.5rem;
    margin-top: 1.25rem;
    padding-top: 0.6rem;
    border-top: 1px solid #e9edf3;
    font-size: 0.75rem;
    color: #9aa4b2;
}

    .upd-source-foot code[b-84z3vu1w6z] {
        font-size: 0.72rem;
        color: #7a8594;
        overflow-wrap: anywhere;
    }
/* /Components/Pages/Work/RequestBoard.razor.rz.scp.css */
/* Sized for a wall screen read from across a room: large type, high contrast, no dense chrome. */
.board-page[b-of5pd5tbpv] {
    padding: .5rem 1rem 2rem;
}

.board-head[b-of5pd5tbpv] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: .75rem;
    margin-bottom: .75rem;
}

.board-title[b-of5pd5tbpv] {
    font-size: 1.75rem;
    margin: 0;
}

.board-meta[b-of5pd5tbpv] {
    display: flex;
    align-items: center;
    gap: 1rem;
    color: #555;
}

.board-live[b-of5pd5tbpv] {
    color: #2e7d32;
    font-weight: 600;
}

.board-empty[b-of5pd5tbpv] {
    font-size: 1.25rem;
    color: #555;
    padding: 2rem 0;
}

/* auto-fill, not auto-fit: cards keep a sane width on a very wide TV instead of stretching. */
.board-grid[b-of5pd5tbpv] {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(19rem, 1fr));
    gap: .75rem;
}

.board-card[b-of5pd5tbpv] {
    display: block;
    padding: .6rem .75rem;
    border: 1px solid #dee2e6;
    border-left-width: 8px;
    border-radius: .35rem;
    background: #fff;
    color: inherit;
    text-decoration: none;
    min-height: 7rem;
}

.board-card:hover[b-of5pd5tbpv] {
    box-shadow: 0 2px 8px rgba(0,0,0,.12);
}

.bc-top[b-of5pd5tbpv] {
    display: flex;
    justify-content: space-between;
    font-size: .8rem;
    color: #666;
}

.bc-num[b-of5pd5tbpv] {
    font-weight: 700;
}

.bc-age[b-of5pd5tbpv] {
    font-variant-numeric: tabular-nums;
}

.bc-problem[b-of5pd5tbpv] {
    font-size: 1.05rem;
    font-weight: 600;
    margin: .3rem 0 .45rem;
    line-height: 1.25;
}

.bc-foot[b-of5pd5tbpv] {
    display: flex;
    justify-content: space-between;
    gap: .5rem;
    font-size: .8rem;
    color: #555;
}

.bc-unassigned[b-of5pd5tbpv] {
    color: #b3261e;
    font-weight: 600;
}

/* Age tint. The left border does the work — it stays legible at a distance and does not fight the
   text contrast the way a full background wash would. */
.age-green[b-of5pd5tbpv] { border-left-color: #2e7d32; }
.age-amber[b-of5pd5tbpv] { border-left-color: #f9a825; }

.age-red[b-of5pd5tbpv] {
    border-left-color: #c62828;
    background: #fff5f5;
    animation: board-pulse-b-of5pd5tbpv 1.4s ease-in-out infinite;
}

@keyframes board-pulse-b-of5pd5tbpv {
    0%, 100% { box-shadow: 0 0 0 0 rgba(198,40,40,.35); }
    50%      { box-shadow: 0 0 0 6px rgba(198,40,40,0); }
}

/* Respect a reader who has asked for no motion — the colour still communicates the state. */
@media (prefers-reduced-motion: reduce) {
    .age-red[b-of5pd5tbpv] { animation: none; }
}

/* ---- Full-screen takeover ---- */
.board-alert-overlay[b-of5pd5tbpv] {
    position: fixed;
    inset: 0;
    z-index: 9999;
    background: #b30000;
    color: #fff;
    display: grid;
    place-items: center;
    text-align: center;
    padding: 2rem;
}

.ba-badge[b-of5pd5tbpv] {
    font-size: 1.5rem;
    font-weight: 800;
    letter-spacing: .1em;
    margin-bottom: 1rem;
}

.ba-title[b-of5pd5tbpv] {
    font-size: clamp(2rem, 6vw, 5rem);
    font-weight: 800;
    line-height: 1.1;
}

.ba-company[b-of5pd5tbpv] {
    font-size: clamp(1.25rem, 3vw, 2.5rem);
    margin-top: .75rem;
    opacity: .9;
}

.ba-num[b-of5pd5tbpv] {
    font-size: 1.1rem;
    margin-top: 1rem;
    opacity: .8;
}

.ba-actions[b-of5pd5tbpv] {
    margin-top: 2rem;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 1rem;
}

.ba-dismiss[b-of5pd5tbpv] {
    font-size: 1.1rem;
    padding: .5rem 1.5rem;
    border: 2px solid #fff;
    border-radius: .3rem;
    background: transparent;
    color: #fff;
    cursor: pointer;
}

.ba-dismiss:hover[b-of5pd5tbpv] {
    background: #fff;
    color: #b30000;
}

.ba-more[b-of5pd5tbpv] {
    opacity: .85;
}
/* /Components/Pages/Work/RequestCalendar.razor.rz.scp.css */

/* ---- Schedule board (Outlook/Teams meetings + booked tickets) ---------------------------------
   Chips are small on purpose: a day column has to hold several without the row growing tall enough
   to push the rest of the calendar off screen. */
.sched-board td[b-k2xytlgi1g] {
    min-width: 9rem;
}

.sched-chip[b-k2xytlgi1g] {
    display: block;
    font-size: .72rem;
    line-height: 1.25;
    padding: .1rem .3rem;
    margin-bottom: .15rem;
    border-radius: .2rem;
    border: 1px solid transparent;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

/* A meeting is something we only read; a ticket is ours to move. Different colours so it is obvious
   at a glance which side of a clash can actually be rescheduled here. */
.sched-meeting[b-k2xytlgi1g] {
    background: #eef2f7;
    border-color: #cbd6e2;
    color: #33475b;
}

.sched-ticket[b-k2xytlgi1g] {
    background: #e3f2e6;
    border-color: #b6d7be;
    color: #1e4620;
}

/* Overlap wins over both, since that is the thing the board exists to surface. */
.sched-clash[b-k2xytlgi1g] {
    background: #fde2e1;
    border-color: #f5a3a0;
    color: #7d1f1c;
    font-weight: 600;
}
/* /Components/Pages/Work/RequestDetail.razor.rz.scp.css */
/* AI response panel under the Problem block. Tinted differently from the orange header box so it
   reads as "suggested by the system", not as part of the ticket's own recorded data. */
.ai-suggest[b-5yqjfoeabj] {
    background: #f2f7ff;
    border-color: #b6d4fe !important;
}

.ai-body[b-5yqjfoeabj] {
    white-space: pre-wrap;
    word-break: break-word;
}

.ai-excerpt[b-5yqjfoeabj] {
    font-size: .8rem;
    white-space: pre-wrap;
    word-break: break-word;
}

/* Requester's hardware, in the ticket header. Bordered and tinted so it reads as reference data
   pulled from the RMM rather than something typed on the ticket. */
.dev-panel[b-5yqjfoeabj] {
    border: 1px solid #dbe3ec;
    border-radius: .25rem;
    background: #fbfcfe;
    padding: .4rem .5rem;
}

/* Label/value pairs in two columns. The label column is sized to the longest label ("Rebooted") so
   the values line up; auto lets a long value (a CPU string) take the rest and wrap rather than
   pushing the grid wider than the header cell. */
.dev-spec[b-5yqjfoeabj] {
    display: grid;
    grid-template-columns: auto 1fr;
    column-gap: .5rem;
    row-gap: .1rem;
    font-size: .78rem;
}

.dev-spec dd[b-5yqjfoeabj] {
    word-break: break-word;
}
/* /Components/Shared/RichTextEditor.razor.rz.scp.css */
.rte-editor[b-gfil8vkil2] {
    min-height: 16rem;
    max-height: 32rem;
    overflow: auto;
    height: auto;
}

/* Make pasted/inserted images behave inside the editor. Pointer cursor hints they can be clicked to resize. */
.rte-editor[b-gfil8vkil2]  img {
    max-width: 100%;
    height: auto;
    cursor: pointer;
}

.rte-editor:focus[b-gfil8vkil2] {
    border-color: #86b7fe;
    box-shadow: 0 0 0 .25rem rgba(13, 110, 253, .25);
    outline: 0;
}
