/* /Components/Layout/MainLayout.razor.rz.scp.css */
.page[b-e5me6cwyh4] {
    position: relative;
    display: flex;
    flex-direction: row;
    flex: 1 1 auto;
    min-height: 0;
    height: 100%;
    width: 100%;
    max-width: 100vw;
    box-sizing: border-box;
}

main[b-e5me6cwyh4] {
    flex: 1;
    min-width: 0;
    min-height: 0;
    display: flex;
    flex-direction: column;
    overflow: hidden;
}

.jl-main-column[b-e5me6cwyh4] {
    flex: 1 1 auto;
    display: flex;
    flex-direction: column;
    min-height: 0;
    overflow: hidden;
    min-width: 0;
    max-width: 100%;
}

.sidebar[b-e5me6cwyh4] {
    background: var(--jl-bg-charcoal);
    border-right: 1px solid var(--jl-border);
    /* Width comes from dual-nav content inside NavMenu (~4.5rem + 13rem) */
    width: auto;
    min-width: 4.5rem;
    max-width: min(20rem, 40vw);
    height: 100%;
    max-height: 100%;
    flex: 0 0 auto;
    flex-shrink: 0;
    display: flex;
    flex-direction: column;
    overflow: hidden;
    min-height: 0;
    box-sizing: border-box;
}

/* Brand strip stays pinned; dual nav fills rest (styles for rails live in NavMenu.razor.css) */
.sidebar[b-e5me6cwyh4]  .top-row,
.sidebar[b-e5me6cwyh4]  .jl-nav-brand-row {
    flex: 0 0 auto;
    height: auto;
    min-height: 2.75rem;
    max-height: none;
    padding: 0.35rem 0.45rem !important;
    justify-content: flex-start;
    align-items: center;
    width: 100%;
    box-sizing: border-box;
}
.sidebar[b-e5me6cwyh4]  .jl-nav-duo {
    flex: 1 1 auto;
    min-height: 0;
}

.top-row[b-e5me6cwyh4] {
    background-color: var(--jl-topbar-bg);
    border-bottom: 1px solid var(--jl-border);
    justify-content: flex-end;
    height: 3.5rem;
    display: flex;
    align-items: center;
}

    .top-row[b-e5me6cwyh4]  a, .top-row[b-e5me6cwyh4]  .btn-link {
        white-space: nowrap;
        margin-left: 1.5rem;
        text-decoration: none;
    }

    .top-row[b-e5me6cwyh4]  a:hover, .top-row[b-e5me6cwyh4]  .btn-link:hover {
        text-decoration: underline;
    }

    .top-row[b-e5me6cwyh4]  a:first-child {
        overflow: hidden;
        text-overflow: ellipsis;
    }

/* Phone/tablet platforms only — NOT triggered by narrowing a Windows desktop window */
.jl-phone-platform .page[b-e5me6cwyh4] {
    flex-direction: column;
}

.jl-phone-platform .jl-main-column[b-e5me6cwyh4] {
    width: 100%;
    flex: 1 1 auto;
    min-width: 0;
}

/* Drawer only exists in DOM when menu is open (see MainLayout.razor) */
.jl-phone-platform .sidebar.jl-mobile-drawer[b-e5me6cwyh4] {
    position: fixed;
    top: calc(var(--jl-safe-top, 0px) + var(--jl-mobile-topbar-height, 30px));
    left: 0;
    bottom: 0;
    /* Phone drawer: ~70% of prior wide size (Jim: −30%). Global app.css also forces max-width. */
    width: min(66vw, 280px);
    max-width: min(66vw, 280px);
    min-width: min(58vw, 240px);
    flex: none;
    height: auto;
    max-height: calc(100dvh - var(--jl-safe-top, 0px) - var(--jl-mobile-topbar-height, 30px));
    z-index: 220;
    box-shadow: 4px 0 24px rgba(0, 0, 0, 0.35);
    display: flex;
    flex-direction: column;
    overflow: hidden;
    /* Distinct panel vs page canvas (soft-light made charcoal ≈ deep — drawer looked flat/muddy) */
    background: var(--jl-bg-elevated);
    border-right: 1px solid var(--jl-border);
}

/* Light mode: crisp sheet above muted canvas (not same gray as the page) */
:global(html[data-theme="light"]) .jl-phone-platform .sidebar.jl-mobile-drawer[b-e5me6cwyh4],
html[data-theme="light"] .jl-phone-platform .sidebar.jl-mobile-drawer[b-e5me6cwyh4] {
    background: #F4F6FA !important;
    border-right: 1px solid #9AA6B8;
    box-shadow: 6px 0 28px rgba(15, 23, 42, 0.18);
}

/* Drawer already has MobileTopBar — drop duplicate brand strip for scroll room */
.jl-phone-platform .sidebar.jl-mobile-drawer[b-e5me6cwyh4]  .top-row {
    display: none;
}

/* NavMenu lives inside drawer — show all links on phone (scoped CSS cannot see parent) */
.jl-phone-platform .sidebar.jl-mobile-drawer[b-e5me6cwyh4]  .navbar-toggler {
    display: none;
}

.jl-phone-platform .sidebar.jl-mobile-drawer[b-e5me6cwyh4]  .nav-scrollable {
    display: flex !important;
    flex: 1 1 auto;
    min-height: 0;
    overflow-y: auto;
    overflow-x: hidden;
    -webkit-overflow-scrolling: touch;
    overscroll-behavior: contain;
    flex-direction: column;
    padding-bottom: calc(1.25rem + env(safe-area-inset-bottom, 0px));
}

/* Drawer link size lives in app.css (global) so isolation cannot fight phone 22px base */

/* Resized desktop window: slim sidebar so headers keep room beside nav */
@media (max-width: 1280px) {
    .page:not(.jl-phone-platform)[b-e5me6cwyh4] {
        --sidebar-width: 236px;
    }
}

@media (max-width: 1099.98px) {
    .page:not(.jl-phone-platform)[b-e5me6cwyh4] {
        --sidebar-width: 210px;
    }
}

@media (max-width: 899.98px) {
    .page:not(.jl-phone-platform)[b-e5me6cwyh4] {
        --sidebar-width: 176px;
    }
}

@media (max-width: 720px) {
    .page:not(.jl-phone-platform)[b-e5me6cwyh4] {
        --sidebar-width: 156px;
    }
}

/* Ultra-wide / maximized: keep readable nav + generous main column */
@media (min-width: 1600px) {
    .page:not(.jl-phone-platform)[b-e5me6cwyh4] {
        --sidebar-width: 280px;
    }
}

/* Desktop refinements — main column only (do NOT pad sidebar brand strip) */
@media (min-width: 641px) {
    .sidebar[b-e5me6cwyh4]  .top-row {
        position: sticky;
        top: 0;
        z-index: 2;
    }

    .top-row.auth[b-e5me6cwyh4]  a:first-child {
        flex: 1;
        text-align: right;
        width: 0;
    }

    .jl-main-column article[b-e5me6cwyh4] {
        padding-left: 1.5rem !important;
        padding-right: 1.25rem !important;
        box-sizing: border-box;
        max-width: 100%;
    }
}

@media (min-width: 1200px) {
    .jl-main-column article[b-e5me6cwyh4] {
        padding-left: 2rem !important;
        padding-right: 1.5rem !important;
    }
}
/* /Components/Layout/NavMenu.razor.rz.scp.css */
/* ===== Azure-style dual left nav (must live in NavMenu.css — MainLayout isolation does not style child markup) ===== */
.jl-nav-duo[b-28mcy69z0x] {
    display: flex !important;
    flex-direction: row !important;
    flex: 1 1 auto;
    align-items: stretch;
    min-height: 0;
    width: 100%;
    overflow: hidden;
}

.jl-nav-primary[b-28mcy69z0x] {
    flex: 0 0 4.5rem !important;
    width: 4.5rem !important;
    max-width: 4.5rem !important;
    display: flex !important;
    flex-direction: column !important;
    flex-wrap: nowrap !important;
    gap: 0.2rem;
    padding: 0.4rem 0.3rem;
    overflow-x: hidden;
    overflow-y: auto;
    border-right: 1px solid var(--jl-border);
    background: var(--jl-bg-elevated);
    box-sizing: border-box;
}

.jl-nav-primary__btn[b-28mcy69z0x] {
    display: flex !important;
    flex-direction: column !important;
    align-items: center;
    justify-content: center;
    gap: 0.15rem;
    width: 100% !important;
    margin: 0;
    padding: 0.45rem 0.1rem;
    border: none;
    border-radius: 8px;
    background: transparent;
    color: var(--jl-text-secondary);
    cursor: pointer;
    font-size: 0.58rem;
    font-weight: 600;
    line-height: 1.1;
    white-space: normal;
}

.jl-nav-primary__btn:hover[b-28mcy69z0x] {
    background: color-mix(in srgb, var(--jl-accent) 14%, transparent);
    color: var(--jl-text-primary);
}

.jl-nav-primary__btn.is-active[b-28mcy69z0x] {
    background: color-mix(in srgb, var(--jl-accent) 20%, var(--jl-bg-charcoal));
    color: var(--jl-text-primary);
    box-shadow: inset 3px 0 0 var(--jl-accent-solid, var(--jl-accent));
}

.jl-nav-primary__ico[b-28mcy69z0x] {
    font-size: 1.2rem;
    line-height: 1;
    display: block;
}

.jl-nav-primary__lbl[b-28mcy69z0x] {
    display: block;
    max-width: 100%;
    overflow: hidden;
    text-overflow: ellipsis;
    text-align: center;
}

.jl-nav-secondary[b-28mcy69z0x] {
    flex: 0 0 13rem !important;
    width: 13rem !important;
    max-width: 13rem !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 0.15rem;
    padding: 0.55rem 0.5rem 1rem;
    overflow-x: hidden;
    overflow-y: auto;
    background: var(--jl-bg-charcoal);
    box-sizing: border-box;
    min-height: 0;
}

.jl-nav-guide[b-28mcy69z0x] {
    margin-top: auto;
    border-top: 1px solid var(--jl-border);
    border-radius: 6px;
    padding-top: 0.55rem;
    font-weight: 700;
}

.jl-nav-secondary__title[b-28mcy69z0x] {
    font-size: 0.78rem;
    font-weight: 700;
    color: var(--jl-text-primary);
    padding: 0.15rem 0.45rem 0.5rem;
    margin: 0;
    letter-spacing: 0.02em;
    border-bottom: 1px solid var(--jl-border);
    margin-bottom: 0.35rem;
}

/* One title per row — buttons (not <a>) so WebView never does a full-page 404 */
.jl-nav-secondary__link[b-28mcy69z0x] {
    display: flex !important;
    flex-direction: row !important;
    align-items: center;
    gap: 0.45rem;
    width: 100%;
    box-sizing: border-box;
    padding: 0.45rem 0.5rem;
    margin: 0;
    border: 0;
    background: transparent;
    text-align: left;
    cursor: pointer;
    font-family: inherit;
    border-radius: 6px;
    color: var(--jl-text-primary) !important;
    text-decoration: none !important;
    font-size: 0.84rem;
    font-weight: 500;
    line-height: 1.25;
    white-space: nowrap;
}

.jl-nav-secondary__link:hover[b-28mcy69z0x] {
    background: color-mix(in srgb, var(--jl-accent) 12%, transparent);
    text-decoration: none !important;
}

.jl-nav-secondary__link.is-active[b-28mcy69z0x] {
    background: color-mix(in srgb, var(--jl-accent) 18%, transparent);
    font-weight: 700;
}

.jl-nav-secondary__link .jl-nav-ico[b-28mcy69z0x] {
    flex: 0 0 auto;
    width: 1.25rem;
    text-align: center;
}

html[data-theme="light"] .jl-nav-primary[b-28mcy69z0x] {
    background: #E8ECF2;
}

html[data-theme="light"] .jl-nav-secondary[b-28mcy69z0x] {
    background: #F4F6F9;
}

html[data-theme="light"] .jl-nav-secondary__link[b-28mcy69z0x] {
    color: #1E293B !important;
}

.navbar-toggler[b-28mcy69z0x] {
    appearance: none;
    cursor: pointer;
    width: 3.5rem;
    height: 2.5rem;
    color: white;
    position: absolute;
    top: 0.5rem;
    right: 1rem;
    border: 1px solid rgba(255, 255, 255, 0.1);
    background: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%28255, 255, 255, 0.55%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e") no-repeat center/1.75rem rgba(255, 255, 255, 0.1);
}

html[data-theme="light"] .navbar-toggler[b-28mcy69z0x] {
    color: #0F172A;
    border-color: var(--jl-border);
    background: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%2815, 23, 42, 0.65%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e") no-repeat center/1.75rem rgba(15, 23, 42, 0.08);
}

.navbar-toggler:checked[b-28mcy69z0x] {
    background-color: rgba(255, 255, 255, 0.5);
}

html[data-theme="light"] .navbar-toggler:checked[b-28mcy69z0x] {
    background-color: rgba(15, 23, 42, 0.15);
}

.top-row[b-28mcy69z0x] {
    min-height: 3.25rem;
    background-color: var(--jl-topbar-bg);
    flex-shrink: 0;
    width: 100%;
    box-sizing: border-box;
}

.top-row .container-fluid[b-28mcy69z0x] {
    padding-left: 0 !important;
    padding-right: 0 !important;
    width: 100%;
    max-width: 100%;
}

.navbar-brand[b-28mcy69z0x] {
    font-size: clamp(0.95rem, 1.6vw, 1.1rem);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    max-width: 100%;
}

/* Brand "LOCK" part - strong light mode handling */
.brand-lock[b-28mcy69z0x] {
    color: var(--jl-text-primary);
}

html[data-theme="light"] .brand-lock[b-28mcy69z0x],
html[data-theme="light"] .navbar-brand .brand-lock[b-28mcy69z0x] {
    color: #0F172A !important;   /* Deep, high-contrast navy in bright mode */
    font-weight: 700;
}

.bi[b-28mcy69z0x] {
    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-28mcy69z0x] {
    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-28mcy69z0x] {
    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-28mcy69z0x] {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='white' class='bi bi-list-nested' viewBox='0 0 16 16'%3E%3Cpath fill-rule='evenodd' d='M4.5 11.5A.5.5 0 0 1 5 11h10a.5.5 0 0 1 0 1H5a.5.5 0 0 1-.5-.5zm-2-4A.5.5 0 0 1 3 7h10a.5.5 0 0 1 0 1H3a.5.5 0 0 1-.5-.5zm-2-4A.5.5 0 0 1 1 3h10a.5.5 0 0 1 0 1H1a.5.5 0 0 1-.5-.5z'/%3E%3C/svg%3E");
}

.nav-item[b-28mcy69z0x] {
    font-size: 0.82rem;
    padding-bottom: 0.05rem;
    width: 100%;
    box-sizing: border-box;
}

    .nav-item:first-of-type[b-28mcy69z0x] {
        padding-top: 0.25rem;
    }

    .nav-item:last-of-type[b-28mcy69z0x] {
        padding-bottom: 0.4rem;
    }

    .nav-item[b-28mcy69z0x]  .nav-link {
        color: var(--jl-text-secondary);
        background: none;
        border: none;
        border-radius: 6px;
        min-height: 1.85rem;
        display: flex;
        align-items: center;
        line-height: 1.2;
        padding: 0.22rem 0.45rem;
        width: 100%;
        max-width: 100%;
        /* Prefer whole words; never split mid-word (was breaking "Trademarks" → "Trademark s") */
        white-space: normal;
        overflow-wrap: break-word;
        word-break: normal;
        box-sizing: border-box;
        hyphens: none;
        gap: 0.35rem;
    }

html[data-theme="light"] .nav-item[b-28mcy69z0x]  .nav-link {
    color: var(--jl-text-primary);
}

.nav-item[b-28mcy69z0x]  a.active {
    background-color: rgba(255,255,255,0.18);
    color: var(--jl-text-primary);
}

html[data-theme="light"] .nav-item[b-28mcy69z0x]  a.active {
    background-color: rgba(15, 23, 42, 0.12);
    color: var(--jl-text-primary);
}

.nav-item[b-28mcy69z0x]  .nav-link:hover {
    background-color: rgba(255,255,255,0.08);
    color: var(--jl-text-primary);
}

html[data-theme="light"] .nav-item[b-28mcy69z0x]  .nav-link:hover {
    background-color: rgba(15, 23, 42, 0.06);
}

.nav-scrollable[b-28mcy69z0x] {
    display: none;
}

.navbar-toggler:checked ~ .nav-scrollable[b-28mcy69z0x] {
    display: block;
}

/* Desktop sidebar: always show nav links (never tie to viewport width) */
:global(.page:not(.jl-phone-platform)) .navbar-toggler[b-28mcy69z0x] {
    display: none;
}

:global(.page:not(.jl-phone-platform)) .nav-scrollable[b-28mcy69z0x] {
    display: flex;
    flex: 1 1 auto;
    min-height: 0;
    height: 0; /* force flex child to use remaining sidebar height so bottom links scroll into view */
    overflow-y: auto;
    overflow-x: hidden;
    flex-direction: column;
    padding-bottom: calc(1.5rem + env(safe-area-inset-bottom, 0px));
    overscroll-behavior: contain;
    scrollbar-gutter: stable;
    -webkit-overflow-scrolling: touch;
}

/* Subtle scrollbar so maxed-height sidebar still feels navigable */
:global(.page:not(.jl-phone-platform)) .nav-scrollable[b-28mcy69z0x]::-webkit-scrollbar {
    width: 8px;
}

:global(.page:not(.jl-phone-platform)) .nav-scrollable[b-28mcy69z0x]::-webkit-scrollbar-thumb {
    background: color-mix(in srgb, var(--jl-border) 80%, transparent);
    border-radius: 8px;
}

:global(.page:not(.jl-phone-platform)) .nav-scrollable[b-28mcy69z0x]::-webkit-scrollbar-track {
    background: transparent;
}

@media (max-width: 899.98px) {
    :global(.page:not(.jl-phone-platform)) .nav-item[b-28mcy69z0x] {
        font-size: 0.8rem;
    }

    :global(.page:not(.jl-phone-platform)) .nav-item[b-28mcy69z0x]  .nav-link {
        min-height: 2.15rem;
        padding: 0.3rem 0.4rem;
        font-size: 0.8rem;
    }

    :global(.page:not(.jl-phone-platform)) .nav-section-header[b-28mcy69z0x] {
        font-size: 0.6rem;
        letter-spacing: 1.2px;
        padding: 6px 8px 2px 8px;
    }
}

/* Phone drawer nav (sidebar only exists when menu is open) */
:global(.jl-phone-platform) .navbar-toggler[b-28mcy69z0x] {
    display: none;
}

:global(.jl-phone-platform) .nav-scrollable[b-28mcy69z0x] {
    display: flex !important;
    flex: 1 1 auto;
    min-height: 0;
    overflow-y: auto;
    overflow-x: hidden;
    -webkit-overflow-scrolling: touch;
    overscroll-behavior: contain;
    flex-direction: column;
    padding-bottom: calc(1rem + env(safe-area-inset-bottom, 0px));
}

/* Phone drawer label layout: enforced in wwwroot/app.css (global, wins over isolation) */

/* Small section headers in the sidebar */
.nav-section-header[b-28mcy69z0x] {
    font-size: 0.68rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 1.8px;
    color: var(--jl-text-secondary);
    padding: 8px 12px 4px 12px;
    margin-top: 10px;
    margin-bottom: 4px;
}

.nav-section-toggle[b-28mcy69z0x] {
    display: flex;
    align-items: center;
    gap: 6px;
    width: 100%;
    text-align: left;
    background: none;
    border: none;
    cursor: pointer;
    color: inherit;
    font: inherit;
    letter-spacing: inherit;
    text-transform: inherit;
}

.nav-section-toggle:hover[b-28mcy69z0x] {
    color: var(--jl-text-primary);
    background: rgba(255, 255, 255, 0.06);
}

html[data-theme="light"] .nav-section-toggle:hover[b-28mcy69z0x] {
    background: rgba(15, 23, 42, 0.06);
}

.nav-section-arrow[b-28mcy69z0x] {
    font-size: 0.65rem;
    width: 12px;
    display: inline-block;
    text-align: center;
    flex-shrink: 0;
}
/* /Components/Pages/ContinuityCenter.razor.rz.scp.css */
.card.jl-continuity-hero[b-mte9jlplse] {
    border: 1px solid color-mix(in srgb, var(--jl-vault-green) 55%, var(--jl-border));
}

html[data-theme="light"] .card.jl-continuity-hero[b-mte9jlplse] {
    background: linear-gradient(
        135deg,
        color-mix(in srgb, var(--jl-vault-green) 14%, var(--jl-bg-deep)) 0%,
        color-mix(in srgb, var(--jl-vault-green) 8%, #ffffff) 55%,
        var(--jl-bg-charcoal) 100%);
    box-shadow: 0 2px 8px rgba(15, 23, 42, 0.06);
}

html[data-theme="dark"] .card.jl-continuity-hero[b-mte9jlplse] {
    background: linear-gradient(135deg, #0f172a 0%, #1e293b 100%);
}

.jl-continuity-hero__title[b-mte9jlplse] {
    margin: 0 0 0.35rem;
    font-size: 1.45rem;
    color: var(--jl-vault-green);
}

.jl-continuity-hero__tagline[b-mte9jlplse] {
    font-size: 1rem;
    color: var(--jl-accent);
    font-weight: 600;
}

.jl-continuity-hero__subtitle[b-mte9jlplse] {
    color: var(--jl-text-secondary);
}
/* /Components/Shared/ChainmailMeshDiagram.razor.rz.scp.css */
.cmd-root[b-74fzsrm5us] {
    background: linear-gradient(165deg, #0b1220 0%, #111827 55%, #0f172a 100%);
    border: 1px solid var(--jl-border, #334155);
    border-radius: 14px;
    padding: 1rem 1.1rem 0.85rem;
    color: var(--jl-text-primary, #e2e8f0);
}
.cmd-root--present[b-74fzsrm5us] {
    padding: 1.4rem 1.6rem 1.1rem;
    min-height: 480px;
    border-color: var(--jl-accent, #38bdf8);
    box-shadow: 0 0 0 1px rgba(56, 189, 248, 0.15), 0 24px 60px -20px rgba(0, 0, 0, 0.65);
}

.cmd-empty[b-74fzsrm5us] { text-align: center; padding: 2rem 1rem; color: #e2e8f0; }
.cmd-empty-icon[b-74fzsrm5us] { font-size: 2rem; }
.cmd-empty-title[b-74fzsrm5us] { font-weight: 700; color: #f8fafc; margin: 0.35rem 0; }
.cmd-empty-sub[b-74fzsrm5us] { font-size: 0.82rem; max-width: 34rem; margin: 0 auto; line-height: 1.4; color: #e2e8f0; }

.cmd-header-row[b-74fzsrm5us] {
    display: flex;
    justify-content: space-between;
    gap: 0.75rem;
    margin-bottom: 0.75rem;
}
/* This diagram is always a dark instrument panel. Do not use --jl-info-fg:
   in light mode that token is deep indigo and washes out on navy cells. */
.cmd-mesh-name[b-74fzsrm5us] { font-weight: 800; font-size: 1.05rem; color: #f8fafc; }
.cmd-root--present .cmd-mesh-name[b-74fzsrm5us] { font-size: 1.3rem; }
.cmd-mesh-meta[b-74fzsrm5us] {
    display: flex; flex-wrap: wrap; gap: 0.3rem 0.5rem;
    font-size: 0.72rem; color: #94a3b8; margin-top: 0.2rem; align-items: center;
}
.cmd-mesh-meta strong[b-74fzsrm5us] { color: #e2e8f0; font-variant-numeric: tabular-nums; }
.cmd-meta-blank strong[b-74fzsrm5us] { color: #fbbf24; }

.cmd-badge[b-74fzsrm5us] {
    display: inline-block; padding: 0.1rem 0.4rem; border-radius: 999px;
    font-weight: 700; font-size: 0.65rem; text-transform: uppercase;
}
.cmd-badge--ok[b-74fzsrm5us] { background: var(--jl-ok-bg, rgba(34, 197, 94, 0.2)); color: var(--jl-ok-fg, #0f6319); }
.cmd-badge--pend[b-74fzsrm5us] { background: rgba(234, 179, 8, 0.2); color: #fbbf24; }
.cmd-badge--bad[b-74fzsrm5us] { background: rgba(239, 68, 68, 0.2); color: #f87171; }
.cmd-badge--muted[b-74fzsrm5us] { background: rgba(148, 163, 184, 0.15); color: #94a3b8; }

.cmd-stage[b-74fzsrm5us] {
    background: rgba(2, 6, 23, 0.55);
    border: 1px dashed rgba(51, 65, 85, 0.9);
    border-radius: 12px;
    padding: 0.75rem 0.5rem 0.9rem;
    overflow-x: auto;
}

.cmd-matrix[b-74fzsrm5us] { min-width: min-content; }

.cmd-matrix-head[b-74fzsrm5us],
.cmd-matrix-row[b-74fzsrm5us] {
    display: flex;
    align-items: stretch;
    gap: 0.2rem;
    margin-bottom: 0.28rem;
}

.cmd-date-gap[b-74fzsrm5us] {
    text-align: center;
    font-size: 0.68rem;
    font-weight: 700;
    letter-spacing: 0.08em;
    color: #fbbf24;
    padding: 0.35rem 0 0.45rem;
    opacity: 0.9;
}

.cmd-lvl-h[b-74fzsrm5us], .cmd-lvl-cell[b-74fzsrm5us] {
    width: 2rem;
    flex: 0 0 2rem;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 0.65rem;
    font-weight: 800;
    color: #64748b;
    font-variant-numeric: tabular-nums;
}
.cmd-lvl-cell[b-74fzsrm5us] { color: #94a3b8; }

.cmd-col-h[b-74fzsrm5us] {
    min-width: 6.5rem;
    max-width: 8.5rem;
    flex: 1 1 6.5rem;
    text-align: center;
    font-size: 0.65rem;
    font-weight: 700;
    color: #cbd5e1;
    display: flex;
    flex-direction: column;
    gap: 0.1rem;
    padding: 0.15rem;
}
.cmd-root--present .cmd-col-h[b-74fzsrm5us] { min-width: 8rem; max-width: 10rem; }
.cmd-kind[b-74fzsrm5us] { font-size: 0.9rem; }
.cmd-col-counts[b-74fzsrm5us] { font-size: 0.55rem; color: #64748b; font-weight: 600; font-variant-numeric: tabular-nums; }
.cmd-col-sort[b-74fzsrm5us] { font-size: 0.7rem; color: #f1f5f9; margin-left: 0.15rem; }
.cmd-link-h[b-74fzsrm5us] {
    width: 3.6rem;
    flex: 0 0 3.6rem;
    text-align: center;
    font-size: 0.55rem;
    color: #64748b;
    font-weight: 700;
    display: flex;
    align-items: center;
    justify-content: center;
}

.cmd-cell[b-74fzsrm5us] {
    min-width: 6.5rem;
    max-width: 8.5rem;
    flex: 1 1 6.5rem;
    border-radius: 6px;
    padding: 0.28rem 0.35rem;
    display: flex;
    flex-direction: column;
    gap: 0.12rem;
    border: 1px solid transparent;
}
.cmd-root--present .cmd-cell[b-74fzsrm5us] { min-width: 8rem; max-width: 10rem; min-height: 2.4rem; }

.cmd-cell--doc[b-74fzsrm5us] {
    background: linear-gradient(90deg, #1e3a5f, #0c4a6e 50%, #1e3a5f);
    border-color: rgba(56, 189, 248, 0.4);
}
.cmd-cell--blank[b-74fzsrm5us] {
    background: repeating-linear-gradient(-45deg, rgba(51,65,85,.4), rgba(51,65,85,.4) 3px, rgba(30,41,59,.55) 3px, rgba(30,41,59,.55) 6px);
    border-color: rgba(251, 191, 36, 0.4);
    border-style: dashed;
}

.cmd-cell-tag[b-74fzsrm5us] { font-size: 0.55rem; font-weight: 700; color: #cbd5e1; }
.cmd-cell--blank .cmd-cell-tag[b-74fzsrm5us] { color: #fcd34d; }
.cmd-cell-hash[b-74fzsrm5us] {
    font-family: ui-monospace, Consolas, monospace;
    font-size: 0.62rem;
    font-weight: 800;
    color: #f8fafc;
    font-variant-numeric: tabular-nums;
    letter-spacing: 0.02em;
}
.cmd-cell--blank .cmd-cell-hash[b-74fzsrm5us] { color: #fde68a; }
.cmd-cell-date[b-74fzsrm5us] {
    font-size: 0.52rem;
    font-weight: 600;
    color: #94a3b8;
    font-variant-numeric: tabular-nums;
    line-height: 1.2;
}
.cmd-cell--blank .cmd-cell-date[b-74fzsrm5us] { color: #fcd34d; }

.cmd-link[b-74fzsrm5us] {
    width: 4rem;
    flex: 0 0 4rem;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 0.05rem;
    padding: 0.1rem 0;
}
.cmd-link-date[b-74fzsrm5us] {
    font-size: 0.48rem;
    color: #64748b;
    font-variant-numeric: tabular-nums;
}
.cmd-link-num[b-74fzsrm5us] {
    font-size: 0.68rem;
    font-weight: 900;
    font-variant-numeric: tabular-nums;
    color: #e2e8f0;
    background: rgba(15, 23, 42, 0.9);
    border: 1px solid rgba(148, 163, 184, 0.4);
    border-radius: 4px;
    padding: 0.02rem 0.28rem;
}
.cmd-link-bar[b-74fzsrm5us] {
    width: 100%;
    height: 3px;
    border-radius: 2px;
    background: linear-gradient(90deg, transparent, var(--jl-info-fg-strong, var(--jl-accent)), transparent);
}
.cmd-link--blank .cmd-link-bar[b-74fzsrm5us] {
    background: linear-gradient(90deg, transparent, #fbbf24, transparent);
    opacity: 0.85;
}
.cmd-link--muted .cmd-link-bar[b-74fzsrm5us] { background: #334155; }
/* This panel is always dark navy — never inherit light-mode --jl-ok-fg (dark green on dark). */
.cmd-link--ok .cmd-link-num[b-74fzsrm5us] { border-color: #86efac; color: #bbf7d0; } /* JL-L8-ALLOW dark mesh panel */
.cmd-link--blank .cmd-link-num[b-74fzsrm5us] { border-color: rgba(251, 191, 36, 0.5); color: #fde68a; }
.cmd-link--ok .cmd-link-hash[b-74fzsrm5us] { color: #cbd5e1; }

.cmd-link-hash[b-74fzsrm5us] {
    font-family: ui-monospace, Consolas, monospace;
    font-size: 0.5rem;
    font-weight: 700;
    color: #94a3b8;
    font-variant-numeric: tabular-nums;
}

.cmd-cycle-block[b-74fzsrm5us] {
    margin-top: 0.75rem;
    padding-top: 0.55rem;
    border-top: 1px solid rgba(51, 65, 85, 0.8);
}
.cmd-cycle-title[b-74fzsrm5us] { font-size: 0.7rem; font-weight: 700; color: #94a3b8; margin-bottom: 0.35rem; }
.cmd-cycle-links[b-74fzsrm5us] { display: flex; flex-wrap: wrap; gap: 0.35rem; }
.cmd-cycle-chip[b-74fzsrm5us] {
    font-size: 0.62rem;
    font-weight: 700;
    font-variant-numeric: tabular-nums;
    background: rgba(15, 23, 42, 0.8);
    border: 1px solid rgba(148, 163, 184, 0.35);
    border-radius: 6px;
    padding: 0.15rem 0.4rem;
    color: #cbd5e1;
}
.cmd-cycle-chip code[b-74fzsrm5us] {
    font-family: ui-monospace, monospace;
    color: #f8fafc;
    margin-left: 0.2rem;
}

.cmd-tip-rings[b-74fzsrm5us] {
    margin-top: 0.65rem;
    display: flex;
    flex-wrap: wrap;
    gap: 0.35rem;
    align-items: center;
}
.cmd-tip-rings-label[b-74fzsrm5us] { font-size: 0.68rem; color: #64748b; font-weight: 600; margin-right: 0.25rem; }
.cmd-tip-chip[b-74fzsrm5us] {
    font-size: 0.62rem;
    font-weight: 800;
    font-variant-numeric: tabular-nums;
    font-family: ui-monospace, monospace;
    padding: 0.12rem 0.4rem;
    border-radius: 999px;
    border: 1px solid rgba(148, 163, 184, 0.35);
    background: rgba(15, 23, 42, 0.75);
    color: #cbd5e1;
}
.cmd-ring--ok[b-74fzsrm5us] { border-color: rgba(226, 232, 240, 0.45); color: #e2e8f0; /* JL-L8-ALLOW dark mesh panel */ }
.cmd-ring--pend[b-74fzsrm5us] { border-color: rgba(251, 191, 36, 0.45); color: #fde68a; }
.cmd-ring--bad[b-74fzsrm5us] { border-color: rgba(248, 113, 113, 0.45); color: #fca5a5; }

.cmd-legend[b-74fzsrm5us] {
    display: flex; flex-wrap: wrap; gap: 0.55rem 0.9rem;
    margin-top: 0.7rem; font-size: 0.68rem; color: #94a3b8; align-items: center;
}
.cmd-rung-mini[b-74fzsrm5us] {
    display: inline-block; width: 0.85rem; height: 0.5rem; border-radius: 2px;
    margin-right: 0.2rem; vertical-align: middle; border: 1px solid transparent;
}
.cmd-rung-mini--doc[b-74fzsrm5us] { background: #0c4a6e; border-color: rgba(56, 189, 248, 0.5); }
.cmd-rung-mini--blank[b-74fzsrm5us] {
    background: repeating-linear-gradient(-45deg, #334155, #334155 2px, #1e293b 2px, #1e293b 4px);
    border-color: rgba(251, 191, 36, 0.45); border-style: dashed;
}

@media (max-width: 640px) {
    .cmd-cell[b-74fzsrm5us] { min-width: 5rem; }
    .cmd-col-h[b-74fzsrm5us] { min-width: 5rem; }
    .cmd-link[b-74fzsrm5us] { width: 2.8rem; flex-basis: 2.8rem; }
}
/* /Components/Shared/CloudShareResultDialog.razor.rz.scp.css */
.cloud-share-overlay[b-8thjn5yu0r] {
    position: fixed;
    inset: 0;
    z-index: 10060;
    background: rgba(8, 14, 28, 0.82);
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 1rem;
}

.cloud-share-dialog[b-8thjn5yu0r] {
    background: var(--jl-bg-charcoal);
    border: 2px solid var(--jl-accent);
    border-radius: 14px;
    width: 100%;
    max-width: 480px;
    max-height: 90vh;
    overflow-y: auto;
    padding: 1.15rem 1.25rem 1rem;
    color: var(--jl-text-primary);
    box-shadow: 0 24px 60px -12px rgba(0, 0, 0, 0.75);
}

.cloud-share-header[b-8thjn5yu0r] {
    display: flex;
    align-items: center;
    gap: 0.65rem;
    margin-bottom: 0.85rem;
    padding-bottom: 0.65rem;
    border-bottom: 1px solid var(--jl-border);
}

.cloud-share-icon[b-8thjn5yu0r] {
    width: 2rem;
    height: 2rem;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: 700;
    font-size: 1rem;
    flex-shrink: 0;
}

.cloud-share-icon.is-success[b-8thjn5yu0r] {
    background: rgba(40, 167, 69, 0.2);
    color: var(--jl-vault-green, #28a745);
    border: 1px solid rgba(40, 167, 69, 0.45);
}

.cloud-share-icon.is-warning[b-8thjn5yu0r] {
    background: rgba(255, 193, 7, 0.15);
    color: #ffc107;
    border: 1px solid rgba(255, 193, 7, 0.4);
}

.cloud-share-icon.is-error[b-8thjn5yu0r] {
    background: rgba(220, 53, 69, 0.15);
    color: #dc3545;
    border: 1px solid rgba(220, 53, 69, 0.4);
}

.cloud-share-title[b-8thjn5yu0r] {
    margin: 0;
    font-size: 1.15rem;
    font-weight: 700;
    color: var(--jl-accent);
}

.cloud-share-body[b-8thjn5yu0r] {
    display: flex;
    flex-direction: column;
    gap: 0.65rem;
    margin-bottom: 1rem;
}

.cloud-share-label[b-8thjn5yu0r] {
    display: block;
    font-size: 0.68rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    color: var(--jl-text-muted);
    margin-bottom: 0.2rem;
}

.cloud-share-text[b-8thjn5yu0r] {
    margin: 0;
    font-size: 0.88rem;
    line-height: 1.45;
    white-space: pre-wrap;
}

.cloud-share-preview[b-8thjn5yu0r] {
    padding: 0.55rem 0.65rem;
    border-radius: 8px;
    background: var(--jl-bg-deep);
    border: 1px solid var(--jl-border);
}

.cloud-share-next[b-8thjn5yu0r] {
    padding: 0.55rem 0.65rem;
    border-radius: 8px;
    background: rgba(212, 175, 55, 0.08);
    border: 1px solid rgba(212, 175, 55, 0.35);
}

.cloud-share-footer[b-8thjn5yu0r] {
    padding-top: 0.25rem;
}
/* /Components/Shared/FirstRunSetupWizard.razor.rz.scp.css */
.first-run-overlay[b-vox8bh1snn] {
    position: fixed;
    inset: 0;
    z-index: 10050;
    background: linear-gradient(160deg, rgba(11, 22, 40, 0.96) 0%, rgba(15, 23, 42, 0.92) 100%);
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 1rem;
}

.first-run-wizard[b-vox8bh1snn] {
    background: var(--jl-bg-charcoal);
    border: 2px solid var(--jl-accent);
    border-radius: 16px;
    width: 100%;
    max-width: 560px;
    max-height: 92vh;
    overflow-y: auto;
    padding: 1.25rem 1.35rem 1rem;
    color: var(--jl-text-primary);
    box-shadow: 0 28px 70px -14px rgba(0, 0, 0, 0.75);
}

.first-run-wizard-header[b-vox8bh1snn] {
    margin-bottom: 1rem;
    padding-bottom: 0.75rem;
    border-bottom: 1px solid var(--jl-border);
}

.first-run-title[b-vox8bh1snn] {
    margin: 0 0 0.35rem;
    font-size: 1.35rem;
    font-weight: 700;
    color: var(--jl-accent);
}

.first-run-subtitle[b-vox8bh1snn] {
    margin: 0;
    font-size: 0.82rem;
    color: var(--jl-text-muted);
    line-height: 1.4;
}

.first-run-section[b-vox8bh1snn] {
    margin-bottom: 1rem;
    padding-bottom: 0.85rem;
    border-bottom: 1px solid var(--jl-border);
}

.first-run-section:last-of-type[b-vox8bh1snn] {
    border-bottom: none;
}

.first-run-section-title[b-vox8bh1snn] {
    margin: 0 0 0.35rem;
    font-size: 1rem;
    font-weight: 700;
}

.first-run-section-lead[b-vox8bh1snn] {
    margin: 0 0 0.65rem;
    font-size: 0.8rem;
    color: var(--jl-text-muted);
    line-height: 1.4;
}

.first-run-intro p[b-vox8bh1snn] {
    margin: 0;
    font-size: 0.82rem;
    line-height: 1.45;
    color: var(--jl-text-secondary);
}

.first-run-security[b-vox8bh1snn] {
    background: color-mix(in srgb, #ef4444 8%, var(--jl-bg-charcoal));
    border: 1px solid #ef4444;
    border-radius: 10px;
    padding: 0.85rem;
    border-bottom: 1px solid #ef4444;
}

.first-run-kit-panel[b-vox8bh1snn] {
    margin-bottom: 0.65rem;
}

.first-run-password-row[b-vox8bh1snn] {
    display: flex;
    gap: 6px;
    align-items: center;
    margin-bottom: 0.25rem;
}

.first-run-password-row input[b-vox8bh1snn] {
    flex: 1;
    background: var(--jl-bg-deep);
    color: var(--jl-text-primary);
    border: 1px solid var(--jl-border);
}

.first-run-char-count[b-vox8bh1snn] {
    font-size: 0.68rem;
    color: var(--jl-text-muted);
    margin-bottom: 0.5rem;
}

.first-run-success-pill[b-vox8bh1snn] {
    background: var(--jl-ok-bg, #166534);
    color: var(--jl-ok-fg, #0f6319);
    border: 1px solid var(--jl-ok-border, #166534);
    padding: 6px 10px;
    border-radius: 6px;
    font-size: 0.8rem;
    font-weight: 600;
    text-align: center;
}
html[data-theme="dark"] .first-run-success-pill[b-vox8bh1snn],
:root:not([data-theme="light"]) .first-run-success-pill[b-vox8bh1snn] {
    background: #166534;
    color: #86efac; /* JL-L8-ALLOW dark first-run */
    border-color: #166534;
}

.first-run-error[b-vox8bh1snn] {
    color: var(--jl-danger);
    font-size: 0.78rem;
    margin-top: 0.5rem;
    line-height: 1.35;
}

.first-run-step-dots[b-vox8bh1snn] {
    display: flex;
    justify-content: center;
    gap: 8px;
    margin-bottom: 0.75rem;
}

.first-run-step-dot[b-vox8bh1snn] {
    width: 10px;
    height: 10px;
    border-radius: 50%;
    background: var(--jl-border);
    transition: background 0.2s, transform 0.2s;
}

.first-run-step-dot.active[b-vox8bh1snn] {
    background: var(--jl-accent);
    transform: scale(1.15);
}

.first-run-step-dot.done[b-vox8bh1snn] {
    background: color-mix(in srgb, var(--jl-accent) 55%, var(--jl-border));
}

.first-run-footer[b-vox8bh1snn] {
    margin-top: 0.5rem;
    padding-top: 0.5rem;
}

.first-run-footer-actions[b-vox8bh1snn] {
    display: flex;
    gap: 10px;
    align-items: stretch;
}

.first-run-footer-note[b-vox8bh1snn] {
    margin: 0.5rem 0 0;
    text-align: center;
    font-size: 0.72rem;
    color: var(--jl-text-muted);
}

.master-password-example[b-vox8bh1snn] {
    background: var(--jl-bg-deep);
    border: 1px solid var(--jl-border);
    border-radius: 8px;
    padding: 0.55rem 0.65rem;
    margin-bottom: 0.65rem;
    font-size: 0.76rem;
    line-height: 1.4;
}

.master-password-example code[b-vox8bh1snn] {
    display: block;
    color: var(--jl-accent);
    font-size: 0.82rem;
    margin-bottom: 0.25rem;
}

.onboarding-intent-btn[b-vox8bh1snn] {
    display: block;
    width: 100%;
    text-align: left;
    padding: 0.65rem 0.85rem;
    font-size: 0.88rem;
    line-height: 1.35;
    color: var(--jl-text-primary);
    background: var(--jl-bg-elevated);
    border: 2px solid var(--jl-border);
    border-radius: 8px;
    cursor: pointer;
    transition: border-color 0.2s, background 0.2s, box-shadow 0.2s;
}

html[data-theme="light"] .onboarding-intent-btn[b-vox8bh1snn] {
    color: #0f172a;
    background: #f8fafc;
    border-color: #94a3b8;
}

.onboarding-intent-btn:hover[b-vox8bh1snn] {
    border-color: var(--jl-accent);
}

.onboarding-intent-btn.selected[b-vox8bh1snn] {
    border-color: var(--jl-accent);
    box-shadow: 0 0 0 1px var(--jl-accent);
    font-weight: 600;
}
/* /Components/Shared/IpClientUpdatePanel.razor.rz.scp.css */
.jl-client-update-panel__sections[b-tn8oerw8e8] {
    display: flex;
    flex-direction: column;
    gap: 0.35rem;
}

.jl-client-section[b-tn8oerw8e8] {
    border: 1px solid var(--jl-border);
    border-radius: 6px;
    background: var(--jl-bg-charcoal);
    overflow: hidden;
}

.jl-client-section__toggle[b-tn8oerw8e8] {
    display: flex;
    align-items: center;
    gap: 0.45rem;
    width: 100%;
    padding: 0.5rem 0.65rem;
    border: none;
    background: transparent;
    color: var(--jl-text-primary);
    text-align: left;
    font-size: 0.82rem;
    cursor: pointer;
}

.jl-client-section__toggle:hover[b-tn8oerw8e8] {
    background: color-mix(in srgb, var(--jl-vault-green) 8%, transparent);
}

.jl-client-section__chevron[b-tn8oerw8e8] {
    color: var(--jl-vault-green);
    font-size: 0.75rem;
    flex-shrink: 0;
    width: 0.85rem;
}

.jl-client-section__title[b-tn8oerw8e8] {
    font-weight: 600;
    flex-shrink: 0;
}

.jl-client-section__count[b-tn8oerw8e8] {
    font-size: 0.68rem;
    color: var(--jl-text-muted, #9aa0a6);
    border: 1px solid var(--jl-border);
    border-radius: 999px;
    padding: 0.05rem 0.4rem;
}

.jl-client-section__badge-new[b-tn8oerw8e8] {
    font-size: 0.62rem;
    font-weight: 700;
    letter-spacing: 0.02em;
    text-transform: uppercase;
    color: #fff;
    background: var(--jl-vault-green);
    border-radius: 999px;
    padding: 0.1rem 0.4rem;
    flex-shrink: 0;
}

.jl-client-section__hint[b-tn8oerw8e8] {
    font-size: 0.72rem;
    color: var(--jl-text-muted, #9aa0a6);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    flex: 1;
    min-width: 0;
}

.jl-client-section__body[b-tn8oerw8e8] {
    padding: 0.55rem 0.75rem 0.65rem;
    border-top: 1px solid var(--jl-border);
    font-size: 0.82rem;
}

/* Section + Workspace: bold label left, wrapped value right (::deep reaches RenderTreeBuilder fields) */
.jl-client-section__body--label-value[b-tn8oerw8e8]  .jl-client-section__field {
    display: grid;
    grid-template-columns: minmax(6.5rem, 38%) 1fr;
    gap: 0.35rem 0.75rem;
    align-items: start;
    margin-bottom: 0.5rem;
}

.jl-client-section__body--label-value[b-tn8oerw8e8]  .jl-client-section__field:last-child {
    margin-bottom: 0;
}

.jl-client-section__body--label-value[b-tn8oerw8e8]  .jl-client-section__field-label {
    font-weight: 700;
    color: var(--jl-text-primary);
    font-size: 0.78rem;
    line-height: 1.35;
    margin: 0;
    padding-top: 0.05rem;
}

.jl-client-section__body--label-value[b-tn8oerw8e8]  .jl-client-section__field-text {
    white-space: pre-wrap;
    word-wrap: break-word;
    overflow-wrap: anywhere;
    min-width: 0;
    line-height: 1.4;
}

.jl-client-section__body--label-value[b-tn8oerw8e8]  .jl-client-section__list {
    margin: 0;
    padding-left: 1.1rem;
}

.jl-client-section__toolbar[b-tn8oerw8e8] {
    display: flex;
    gap: 0.5rem;
    margin-top: 0.5rem;
    font-size: 0.72rem;
}

.jl-client-section__toolbar button[b-tn8oerw8e8] {
    background: none;
    border: none;
    color: var(--jl-accent);
    padding: 0;
    cursor: pointer;
    text-decoration: underline;
}
/* /Components/Shared/JlTextEditor.razor.rz.scp.css */
/* Theme-first: NEVER hardcode dark-only hex for toolbar/surface.
   Dark hex fallbacks caused Creators "Edit tools" black box to return in light mode
   whenever --jl-te-toolbar-bg was unset (Minimal style). */
.jl-text-editor[b-wypch01amy] {
    display: flex;
    flex-direction: column;
    gap: 0;
    border: 1px solid var(--jl-border);
    border-radius: 8px;
    overflow: hidden;
    background: var(--jl-bg-deep);
}

.jl-text-editor__toolbar[b-wypch01amy] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 2px;
    padding: 4px 6px;
    background: var(--jl-te-toolbar-bg, var(--jl-bg-charcoal));
    border-bottom: 1px solid var(--jl-te-toolbar-border, var(--jl-border));
    color: var(--jl-te-toolbar-fg, var(--jl-text-secondary));
}

.jl-text-editor__btn[b-wypch01amy] {
    min-width: 28px;
    height: 26px;
    padding: 0 6px;
    font-size: 0.8rem;
    line-height: 1;
    border: 1px solid transparent;
    border-radius: 4px;
    background: transparent;
    color: var(--jl-te-toolbar-btn, var(--jl-text-secondary));
    cursor: pointer;
}

.jl-text-editor__btn--fmt[b-wypch01amy] {
    min-width: 26px;
    font-size: 0.85rem;
}

.jl-text-editor__btn:hover:not(:disabled)[b-wypch01amy] {
    background: var(--jl-te-toolbar-btn-hover-bg, var(--jl-bg-elevated));
    border-color: var(--jl-te-toolbar-btn-hover-border, var(--jl-border));
    color: var(--jl-te-toolbar-btn-hover-fg, var(--jl-text-primary));
}

.jl-text-editor__btn:disabled[b-wypch01amy] {
    opacity: 0.4;
    cursor: not-allowed;
}

.jl-text-editor__sep[b-wypch01amy] {
    width: 1px;
    height: 18px;
    margin: 0 4px;
    background: var(--jl-te-toolbar-sep, var(--jl-border));
}

.jl-text-editor__hint[b-wypch01amy] {
    margin-left: auto;
    font-size: 0.65rem;
    color: var(--jl-te-toolbar-hint, var(--jl-text-muted));
    padding-right: 4px;
}

.jl-text-editor__area[b-wypch01amy] {
    width: 100%;
    margin: 0;
    border: none !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    overflow-y: auto;
    font-family: inherit;
    font-size: 1rem;
    line-height: 1.55;
    padding: 12px 14px;
    background: var(--jl-bg-deep);
    color: var(--jl-text-primary);
    outline: none;
    white-space: pre-wrap;
    word-wrap: break-word;
}

.jl-text-editor__area:focus[b-wypch01amy] {
    box-shadow: inset 0 0 0 1px var(--jl-accent, #c9a227) !important;
}

.jl-text-editor__area.jl-text-editor__empty:empty[b-wypch01amy]::before,
.jl-text-editor__area.jl-text-editor__empty:not(:focus):has(br:only-child)[b-wypch01amy]::before {
    content: attr(data-placeholder);
    color: var(--jl-text-muted, #64748b);
    pointer-events: none;
}

.jl-text-editor__area ul[b-wypch01amy],
.jl-text-editor__area ol[b-wypch01amy] {
    margin: 0.35rem 0 0.35rem 1.25rem;
    padding: 0;
}

.jl-text-editor__area li[b-wypch01amy] {
    margin: 0.15rem 0;
}

.jl-text-editor--compact .jl-text-editor__btn[b-wypch01amy] {
    min-width: 24px;
    height: 22px;
    font-size: 0.72rem;
}

.jl-text-editor--compact .jl-text-editor__area[b-wypch01amy] {
    font-size: 0.875rem;
    padding: 8px 10px;
}

.jl-text-editor--canvas-embed[b-wypch01amy] {
    border: none;
    border-radius: 0;
    background: transparent;
    overflow: visible;
}

.jl-text-editor--canvas-embed .jl-text-editor__toolbar[b-wypch01amy] {
    margin-bottom: 6px;
    border: 1px solid var(--jl-te-toolbar-border, var(--jl-border));
    border-radius: 8px;
    /* Theme surface — not fixed dark rgba (that was the recurring Creators black box). */
    background: var(--jl-te-toolbar-bg, var(--jl-bg-charcoal));
    color: var(--jl-te-toolbar-fg, var(--jl-text-secondary));
    box-shadow: 0 1px 3px color-mix(in srgb, var(--jl-text-primary) 8%, transparent);
}

.jl-text-editor--canvas-embed .jl-text-editor__btn[b-wypch01amy] {
    color: var(--jl-te-toolbar-btn, var(--jl-text-secondary));
}

.jl-text-editor--canvas-embed .jl-text-editor__btn:hover:not(:disabled)[b-wypch01amy] {
    background: var(--jl-te-toolbar-btn-hover-bg, var(--jl-bg-elevated));
    border-color: var(--jl-te-toolbar-btn-hover-border, var(--jl-border));
    color: var(--jl-te-toolbar-btn-hover-fg, var(--jl-text-primary));
}

.jl-text-editor--canvas-embed .jl-text-editor__sep[b-wypch01amy] {
    background: var(--jl-te-toolbar-sep, var(--jl-border));
}

.jl-text-editor--canvas-embed .jl-text-editor__hint[b-wypch01amy] {
    color: var(--jl-te-toolbar-hint, var(--jl-text-muted));
}

.jl-text-editor--canvas-embed .jl-text-editor__area[b-wypch01amy] {
    background: transparent;
    border-radius: 4px;
}

/* Paper styles (calm/warm/Impressionist) — warm ink on cream, independent of app theme */
.jl-text-editor--canvas-light .jl-text-editor__toolbar[b-wypch01amy] {
    background: var(--jl-te-toolbar-bg, rgba(255, 252, 245, 0.97)) !important;
    border-color: var(--jl-te-toolbar-border, #c4b59a) !important;
    color: var(--jl-te-toolbar-fg, #5c4a32) !important;
    box-shadow: 0 1px 4px rgba(0, 0, 0, 0.08);
}

.jl-text-editor--canvas-light .jl-text-editor__btn[b-wypch01amy] {
    color: var(--jl-te-toolbar-btn, #5c4a32) !important;
}

.jl-text-editor--canvas-light .jl-text-editor__btn:hover:not(:disabled)[b-wypch01amy] {
    background: var(--jl-te-toolbar-btn-hover-bg, rgba(0, 0, 0, 0.06)) !important;
    border-color: var(--jl-te-toolbar-btn-hover-border, #c4b59a) !important;
    color: var(--jl-te-toolbar-btn-hover-fg, #3f2e1e) !important;
}

.jl-text-editor--canvas-light .jl-text-editor__sep[b-wypch01amy] {
    background: var(--jl-te-toolbar-sep, #c4b59a) !important;
}

.jl-text-editor--canvas-light .jl-text-editor__hint[b-wypch01amy] {
    color: var(--jl-te-toolbar-hint, #8b7355) !important;
}

/* Immersion: writing fills space; edit tools = fixed RIGHT rail (ghost style, match Exit) */
.jl-text-editor--immersion[b-wypch01amy] {
    border: none !important;
    border-radius: 0;
    background: transparent !important;
    height: 100%;
    flex: 1;
    min-height: 0;
    position: relative;
    display: flex;
    flex-direction: column;
    overflow: visible;
    gap: 0;
}

.jl-text-editor--immersion .jl-text-editor__toolbar[b-wypch01amy] {
    position: fixed;
    /* Sit below the solid Exit pill so Exit is never covered */
    top: calc(env(safe-area-inset-top, 0px) + 58px);
    right: calc(env(safe-area-inset-right, 0px) + 6px);
    bottom: calc(env(safe-area-inset-bottom, 0px) + 10px);
    width: 44px;
    max-width: 44px;
    z-index: 1000002;
    display: flex;
    flex-direction: column;
    flex-wrap: nowrap;
    align-items: center;
    justify-content: flex-start;
    gap: 3px;
    padding: 6px 2px;
    margin: 0;
    overflow-x: hidden;
    overflow-y: auto;
    border: none;
    border-radius: 0;
    background: transparent !important;
    color: var(--immersion-ghost-fg, color-mix(in srgb, var(--jl-text-primary) 42%, transparent));
    box-shadow: none !important;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
}

.jl-text-editor--immersion .jl-text-editor__toolbar[b-wypch01amy]::-webkit-scrollbar {
    width: 0;
    height: 0;
}

.jl-text-editor--immersion .jl-text-editor__btn[b-wypch01amy] {
    min-width: 36px;
    width: 36px;
    height: 32px;
    padding: 0;
    border: 1px solid var(--immersion-ghost-border, color-mix(in srgb, var(--jl-text-primary) 14%, transparent));
    border-radius: 6px;
    background: var(--immersion-ghost-bg, color-mix(in srgb, var(--jl-text-primary) 6%, transparent));
    color: var(--immersion-ghost-fg, color-mix(in srgb, var(--jl-text-primary) 42%, transparent));
    font-size: 0.78rem;
    flex: 0 0 auto;
}

.jl-text-editor--immersion .jl-text-editor__btn:hover:not(:disabled)[b-wypch01amy] {
    background: var(--immersion-ghost-bg-hover, color-mix(in srgb, var(--jl-text-primary) 14%, transparent));
    color: var(--immersion-ghost-fg-strong, color-mix(in srgb, var(--jl-text-primary) 82%, transparent));
    border-color: var(--immersion-ghost-fg, color-mix(in srgb, var(--jl-text-primary) 42%, transparent));
}

.jl-text-editor--immersion .jl-text-editor__sep[b-wypch01amy] {
    width: 22px;
    height: 1px;
    margin: 3px 0;
    background: var(--immersion-ghost-border, color-mix(in srgb, var(--jl-text-primary) 14%, transparent));
    flex: 0 0 auto;
}

.jl-text-editor--immersion .jl-text-editor__hint[b-wypch01amy] {
    display: none !important;
}

.jl-text-editor--immersion .jl-text-editor__area[b-wypch01amy] {
    flex: 1 1 auto;
    height: 100%;
    min-height: 0;
    padding-top: 0.35rem;
    background: transparent !important;
    border: none !important;
    box-shadow: none !important;
}

.jl-text-editor--immersion .jl-text-editor__area:focus[b-wypch01amy] {
    box-shadow: none !important;
}

/* Spell hints — wavy line via background so it never fights format Underline */
[b-wypch01amy] .jl-misspell,
.jl-misspell[b-wypch01amy] {
    text-decoration: none !important;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='6' height='3' viewBox='0 0 6 3'%3E%3Cpath d='M0 2.5 Q1.5 0.5 3 2.5 T6 2.5' fill='none' stroke='%23e74c3c' stroke-width='1'/%3E%3C/svg%3E");
    background-repeat: repeat-x;
    background-position: left bottom;
    background-size: 6px 3px;
    padding-bottom: 2px;
}

.jl-text-editor__ai-panel[b-wypch01amy] {
    padding: 8px 10px;
    background: var(--jl-bg-charcoal);
    border-top: 1px solid var(--jl-border);
    font-size: 0.8rem;
}

.jl-text-editor__ai-panel--loading[b-wypch01amy] {
    color: var(--jl-text-muted);
}

.jl-text-editor__ai-summary[b-wypch01amy] {
    margin: 0 0 6px;
    color: var(--jl-text-secondary);
}

.jl-text-editor__ai-changes[b-wypch01amy] {
    margin: 0 0 8px;
    padding-left: 1.1rem;
    color: var(--jl-text-muted);
    font-size: 0.75rem;
}

.jl-text-editor__ai-preview[b-wypch01amy] {
    margin: 0 0 8px;
    padding: 8px;
    border-radius: 6px;
    background: var(--jl-bg-deep);
    border: 1px solid var(--jl-border);
    color: var(--jl-text-primary);
    white-space: pre-wrap;
    max-height: 120px;
    overflow-y: auto;
}

.jl-text-editor__ai-actions[b-wypch01amy] {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
}

.jl-text-editor__ai-btn[b-wypch01amy] {
    padding: 4px 10px;
    font-size: 0.72rem;
    border-radius: 4px;
    border: 1px solid var(--jl-border);
    background: var(--jl-bg-elevated);
    color: var(--jl-text-primary);
    cursor: pointer;
}

.jl-text-editor__ai-btn--primary[b-wypch01amy] {
    border-color: var(--jl-accent);
    color: var(--jl-accent);
}

.jl-text-editor__ai-btn:hover:not(:disabled)[b-wypch01amy] {
    background: var(--jl-bg-deep);
}

.jl-text-editor__ai-btn:disabled[b-wypch01amy] {
    opacity: 0.5;
    cursor: not-allowed;
}

.jl-text-editor__btn--active[b-wypch01amy] {
    background: var(--jl-bg-elevated);
    border-color: var(--jl-accent);
    color: var(--jl-accent);
}
/* /Components/Shared/TopHeader.razor.rz.scp.css */
.jl-top-header[b-4q9bpljgqc] {
    position: sticky;
    top: 0;
    /* Above page sticky bars (often z-index:100) so AI dropdown is not buried */
    z-index: 500;
    flex: 0 0 auto;
    background: color-mix(in srgb, var(--jl-bg-deep) 94%, transparent);
    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);
    border-bottom: 1px solid var(--jl-border);
    padding: 6px 12px;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 6px 10px;
    font-size: 0.8rem;
    color: var(--jl-text-muted);
    width: 100%;
    max-width: 100%;
    box-sizing: border-box;
    min-width: 0;
    /* Allow AI panel to paint outside the header strip */
    overflow: visible;
}

html[data-theme="light"] .jl-top-header[b-4q9bpljgqc] {
    background: color-mix(in srgb, var(--jl-bg-deep) 96%, #fff);
}

.jl-top-header__left[b-4q9bpljgqc],
.jl-top-header__right[b-4q9bpljgqc] {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 6px 8px;
    min-width: 0;
    max-width: 100%;
    overflow: visible;
}

.jl-top-header__left[b-4q9bpljgqc] {
    flex: 1 1 auto;
    min-width: min(100%, 12rem);
    /* Keep AI wrap above sibling pills in the same row */
    position: relative;
    z-index: 2;
}

.jl-top-header__right[b-4q9bpljgqc] {
    flex: 0 1 auto;
    justify-content: flex-end;
    margin-left: auto;
}

.jl-top-header__title[b-4q9bpljgqc] {
    font-weight: 600;
    color: var(--jl-text-primary);
    white-space: nowrap;
}

/* AI assist status — far left; green / yellow / red like other vault signals */
.jl-top-header__ai-wrap[b-4q9bpljgqc] {
    position: relative;
    flex: 0 0 auto;
    z-index: 20;
}

.jl-top-header__ai-btn[b-4q9bpljgqc] {
    font-size: 0.7rem;
    padding: 2px 10px;
    border-radius: 999px;
    cursor: pointer;
    font-weight: 600;
    white-space: nowrap;
    border: 1px solid transparent;
}

.jl-top-header__ai-btn--ok[b-4q9bpljgqc] {
    background: var(--jl-vault-green-dark, #1b5e20);
    color: #e8f5e9;
    border-color: var(--jl-vault-green, #4caf50);
}

.jl-top-header__ai-btn--issue[b-4q9bpljgqc] {
    background: #b45309;
    color: #fffbeb;
    border-color: #fbbf24;
}

.jl-top-header__ai-btn--off[b-4q9bpljgqc] {
    background: #c62828;
    color: #fff;
    border-color: #ef5350;
}

.jl-top-header__ai-backdrop[b-4q9bpljgqc] {
    position: fixed;
    inset: 0;
    z-index: 10030;
    background: rgba(0, 0, 0, 0.25);
}

.jl-top-header__ai-panel[b-4q9bpljgqc] {
    /* fixed: escape any parent overflow / stacking so it is never under page chrome */
    position: fixed;
    top: 2.75rem;
    left: 0.75rem;
    z-index: 10040;
    width: min(22rem, calc(100vw - 1.5rem));
    max-height: min(70vh, 28rem);
    overflow-y: auto;
    padding: 0.75rem 0.85rem;
    border-radius: 10px;
    background: var(--jl-bg-charcoal, #1e1e1e);
    color: var(--jl-text-primary, #eee);
    border: 1px solid var(--jl-border, #444);
    box-shadow: 0 16px 48px rgba(0, 0, 0, 0.55);
}

.jl-top-header__ai-panel-title[b-4q9bpljgqc] {
    font-weight: 700;
    font-size: 0.85rem;
    margin-bottom: 0.35rem;
    color: var(--jl-text-primary, #fff);
}

.jl-top-header__ai-panel-body[b-4q9bpljgqc] {
    font-size: 0.75rem;
    line-height: 1.35;
    color: var(--jl-text-secondary, #ccc);
    margin-bottom: 0.5rem;
}

.jl-top-header__ai-panel-meta[b-4q9bpljgqc] {
    font-size: 0.65rem;
    color: var(--jl-text-muted, #999);
    margin-bottom: 0.45rem;
    word-break: break-all;
}

.jl-top-header__ai-panel-legend[b-4q9bpljgqc] {
    display: flex;
    flex-wrap: wrap;
    gap: 0.35rem 0.65rem;
    font-size: 0.65rem;
    color: var(--jl-text-muted, #aaa);
    margin-bottom: 0.55rem;
    align-items: center;
}

.jl-top-header__ai-dot[b-4q9bpljgqc] {
    display: inline-block;
    width: 0.55rem;
    height: 0.55rem;
    border-radius: 50%;
    margin-right: 0.15rem;
    vertical-align: middle;
}

.jl-top-header__ai-dot--green[b-4q9bpljgqc] { background: #22c55e; }
.jl-top-header__ai-dot--yellow[b-4q9bpljgqc] { background: #fbbf24; }
.jl-top-header__ai-dot--red[b-4q9bpljgqc] { background: #ef4444; }

.jl-top-header__ai-panel-actions[b-4q9bpljgqc] {
    display: flex;
    flex-wrap: wrap;
    gap: 0.35rem;
}

.jl-top-header__chain-btn[b-4q9bpljgqc] {
    font-size: 0.72rem;
    padding: 0 0.55rem;
    height: 1.7rem;
    min-height: 1.7rem;
    width: 6.75rem;
    border-radius: 999px;
    cursor: pointer;
    font-weight: 650;
    white-space: nowrap;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    box-sizing: border-box;
}

.jl-top-header__chain-btn--intact[b-4q9bpljgqc] {
    background: var(--jl-vault-green-dark);
    color: #e8f5e9;
    border: 1px solid var(--jl-vault-green);
}

.jl-top-header__chain-btn--broken[b-4q9bpljgqc] {
    background: #c62828;
    color: white;
    border: 1px solid #c62828;
}

.jl-top-header__pill[b-4q9bpljgqc] {
    background: var(--jl-bg-elevated);
    color: var(--jl-text-primary);
    font-size: 0.65rem;
    padding: 2px 8px;
    border-radius: 999px;
    cursor: pointer;
    font-weight: 600;
    border: 1px solid var(--jl-accent);
    white-space: nowrap;
    max-width: min(100%, 18rem);
    overflow: hidden;
    text-overflow: ellipsis;
    flex: 0 1 auto;
}

.jl-top-header__pill--build[b-4q9bpljgqc] {
    cursor: default;
    letter-spacing: 0.04em;
    max-width: min(100%, 22rem);
}

.jl-top-header__pill--test[b-4q9bpljgqc] {
    border-color: #d97706;
    color: #b45309;
    background: color-mix(in srgb, #f59e0b 14%, var(--jl-bg-elevated));
}

.jl-top-header__pill--demo[b-4q9bpljgqc] {
    border-color: #0d9488;
    color: #0f766e;
    background: color-mix(in srgb, #14b8a6 16%, var(--jl-bg-elevated));
}

html[data-theme="dark"] .jl-top-header__pill--demo[b-4q9bpljgqc] {
    color: #5eead4;
}

html[data-theme="dark"] .jl-top-header__pill--test[b-4q9bpljgqc] {
    color: #fbbf24;
}

.jl-top-header__pill--personal[b-4q9bpljgqc] {
    border-color: var(--jl-vault-green);
    color: var(--jl-vault-green);
    background: color-mix(in srgb, var(--jl-vault-green) 12%, var(--jl-bg-elevated));
}

.jl-top-header__datetime[b-4q9bpljgqc] {
    font-size: 0.75rem;
    color: var(--jl-text-primary);
    white-space: nowrap;
}

.jl-top-header__help-btn[b-4q9bpljgqc] {
    font-size: 0.68rem;
    padding: 3px 10px;
    background: var(--jl-bg-elevated);
    color: var(--jl-text-primary);
    border: 1px solid var(--jl-border);
    border-radius: 4px;
    cursor: pointer;
    white-space: nowrap;
    font-weight: 600;
}

.jl-top-header__help-btn--on[b-4q9bpljgqc] {
    color: var(--jl-ok-fg-strong, var(--jl-vault-green));
    border-color: var(--jl-ok-border, var(--jl-vault-green));
    background: var(--jl-ok-bg, color-mix(in srgb, var(--jl-vault-green) 12%, var(--jl-bg-elevated)));
}

.jl-top-header__icon-btn[b-4q9bpljgqc] {
    font-size: 1rem;
    line-height: 1;
    padding: 4px 8px;
    background: var(--jl-bg-elevated);
    color: var(--jl-text-primary);
    border: 1px solid var(--jl-border);
    border-radius: 6px;
    cursor: pointer;
}

.jl-top-header__icon-btn:hover[b-4q9bpljgqc] {
    border-color: var(--jl-accent);
}

.jl-top-header__chain-btn--compact[b-4q9bpljgqc] {
    font-size: 0.72rem;
    padding: 0 0.55rem;
    height: 1.7rem;
    width: 6.75rem;
}

/* TopHeader only mounts on desktop (see MainLayout). Responsive at all widths. */
@media (min-width: 1400px) {
    .jl-top-header[b-4q9bpljgqc] {
        padding: 8px 16px;
        gap: 8px 12px;
    }
}

@media (max-width: 1199.98px) {
    .jl-top-header__datetime[b-4q9bpljgqc] {
        display: none;
    }
}

@media (max-width: 1099.98px) {
    .jl-top-header[b-4q9bpljgqc] {
        align-items: flex-start;
    }

    .jl-top-header__left[b-4q9bpljgqc],
    .jl-top-header__right[b-4q9bpljgqc] {
        flex: 1 1 100%;
        justify-content: flex-start;
        margin-left: 0;
    }

    .jl-top-header__right[b-4q9bpljgqc] {
        padding-top: 2px;
        justify-content: flex-start;
    }

    .jl-top-header__pill--build[b-4q9bpljgqc] {
        max-width: 100%;
    }
}

@media (max-width: 899.98px) {
    .jl-top-header__ladders[b-4q9bpljgqc] {
        display: none;
    }

    .jl-top-header__title[b-4q9bpljgqc] {
        display: none;
    }

    .jl-top-header__pill[b-4q9bpljgqc] {
        font-size: 0.62rem;
        padding: 2px 6px;
        max-width: min(100%, 12rem);
    }

    .jl-top-header__help-btn[b-4q9bpljgqc] {
        font-size: 0.64rem;
        padding: 2px 8px;
        white-space: normal;
        line-height: 1.2;
        max-width: 100%;
    }
}

@media (max-width: 720px) {
    .jl-top-header[b-4q9bpljgqc] {
        padding: 4px 8px;
        font-size: 0.72rem;
        gap: 4px 6px;
    }

    /* Prefer core status; hide secondary proof links when squeezed */
    .jl-top-header__pill--link[b-4q9bpljgqc] {
        display: none;
    }

    .jl-top-header__left[b-4q9bpljgqc] {
        gap: 4px 6px;
    }

    .jl-top-header__pill[b-4q9bpljgqc] {
        font-size: 0.58rem;
        max-width: min(100%, 10rem);
    }

    .jl-top-header__help-btn[b-4q9bpljgqc] {
        font-size: 0.6rem;
        padding: 2px 6px;
    }
}

@media (max-width: 640.98px) {
    .jl-top-header__pill--build[b-4q9bpljgqc] {
        font-size: 0.55rem;
        letter-spacing: 0;
    }
}
/* /Components/Shared/VisualChainLadderPresentation.razor.rz.scp.css */
.vcl-overlay[b-ig3j83wok9] {
    position: fixed;
    inset: 0;
    background: rgba(0, 0, 0, 0.82);
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 10000;
    padding: 0.75rem;
}

.vcl-modal[b-ig3j83wok9] {
    background: var(--jl-bg-charcoal);
    border: 2px solid var(--jl-accent);
    border-radius: 14px;
    width: min(980px, 100%);
    max-height: 92vh;
    display: flex;
    flex-direction: column;
    color: var(--jl-text-primary);
    box-shadow: 0 24px 60px -12px rgba(0, 0, 0, 0.75);
}

.vcl-header[b-ig3j83wok9] {
    position: relative;
    padding: 0.65rem 2.4rem 0.5rem 1rem;
    border-bottom: 1px solid var(--jl-border);
    flex-shrink: 0;
}

.vcl-header-top[b-ig3j83wok9] {
    display: block;
    padding-right: 1.75rem;
}

.vcl-close-btn[b-ig3j83wok9] {
    position: absolute;
    top: 0.45rem;
    right: 0.65rem;
    left: auto;
    background: none;
    border: none;
    font-size: 1.5rem;
    line-height: 1;
    color: var(--jl-text-muted);
    cursor: pointer;
    padding: 0 0.2rem;
    z-index: 3;
}

.vcl-header-strip[b-ig3j83wok9] {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    margin-top: 0.45rem;
    padding-top: 0.4rem;
    border-top: 1px dashed var(--jl-border);
}

.vcl-header-broken[b-ig3j83wok9] {
    display: flex;
    align-items: center;
    gap: 0.4rem;
    flex-shrink: 0;
    font-size: 0.58rem;
    line-height: 1.2;
    color: var(--jl-text-muted);
}

.vcl-header-monitor[b-ig3j83wok9] {
    flex: 1;
    min-width: 0;
    display: flex;
    align-items: center;
    gap: 0.35rem;
    padding: 0.2rem 0.45rem;
    background: #0a1628;
    border: 1px solid var(--jl-border);
    border-radius: 4px;
    font-family: ui-monospace, monospace;
    font-size: 0.55rem;
    line-height: 1.2;
    overflow: hidden;
}

.vcl-header-monitor.active[b-ig3j83wok9] {
    border-color: var(--jl-vault-green);
}

.vcl-header-monitor.broken[b-ig3j83wok9] {
    border-color: var(--jl-danger);
    color: #fca5a5;
}

.vcl-monitor-idle[b-ig3j83wok9] {
    color: var(--jl-text-muted);
    font-family: inherit;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.vcl-monitor-status[b-ig3j83wok9] {
    flex-shrink: 0;
    font-weight: 700;
    color: var(--jl-ladder-ok, var(--jl-vault-green));
    font-family: inherit;
}

.vcl-monitor-status.broken-text[b-ig3j83wok9] {
    color: var(--jl-ladder-broken, #fca5a5);
}

.vcl-monitor-hash[b-ig3j83wok9] {
    color: var(--jl-ladder-ok, var(--jl-vault-green));
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.vcl-header-monitor.broken .vcl-monitor-hash[b-ig3j83wok9] {
    color: #fca5a5;
}

.vcl-monitor-tsa[b-ig3j83wok9] {
    flex-shrink: 0;
    color: #fca5a5;
    font-size: 0.5rem;
}

.vcl-body[b-ig3j83wok9] {
    flex: 1;
    overflow-y: auto;
    padding: 1rem;
    min-height: 0;
}

.vcl-footer[b-ig3j83wok9] {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 0.5rem 1rem;
    border-top: 1px solid var(--jl-border);
    flex-shrink: 0;
    gap: 0.5rem;
}

.vcl-footer-right[b-ig3j83wok9] {
    display: flex;
    align-items: center;
    gap: 0.55rem;
    margin-left: auto;
    min-width: 0;
}

.vcl-footer-customer[b-ig3j83wok9] {
    font-size: 0.58rem;
    line-height: 1.25;
    color: var(--jl-text-muted);
    max-width: 220px;
}

.vcl-step-dots[b-ig3j83wok9] {
    display: flex;
    gap: 4px;
    flex-wrap: wrap;
}

.vcl-dot[b-ig3j83wok9] {
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: var(--jl-border);
    transition: background 0.25s, transform 0.25s;
}

.vcl-dot.active[b-ig3j83wok9] {
    background: var(--jl-accent);
    transform: scale(1.2);
}

.vcl-dot.done[b-ig3j83wok9] {
    background: var(--jl-vault-green-dark);
}

.vcl-title-hero[b-ig3j83wok9] {
    text-align: center;
    padding: 1.25rem 1rem 1rem;
    margin-bottom: 1rem;
    background: linear-gradient(180deg, var(--jl-bg-deep) 0%, transparent 100%);
    border-radius: 10px;
    border: 1px solid var(--jl-border);
}

.vcl-title-hero-icon[b-ig3j83wok9] {
    font-size: 2.5rem;
    line-height: 1;
    margin-bottom: 0.5rem;
}

.vcl-title-hero-heading[b-ig3j83wok9] {
    margin: 0 0 0.35rem;
    font-size: 1.15rem;
    font-weight: 700;
    color: var(--jl-accent);
    line-height: 1.35;
}

.vcl-title-hero-sub[b-ig3j83wok9] {
    margin: 0;
    font-size: 0.82rem;
    color: var(--jl-text-muted);
    line-height: 1.4;
}

.vcl-narration[b-ig3j83wok9] {
    background: var(--jl-bg-deep);
    border-left: 3px solid var(--jl-accent);
    padding: 0.5rem 0.75rem;
    border-radius: 6px;
    font-size: 0.8rem;
    line-height: 1.4;
    margin-bottom: 0.6rem;
}

.vcl-step-num[b-ig3j83wok9] {
    font-size: 0.62rem;
    font-weight: 600;
    color: var(--jl-text-muted);
    margin-right: 0.35rem;
}

.vcl-red-text[b-ig3j83wok9] {
    color: #fca5a5;
    font-weight: 700;
}

.vcl-demo-broken-btn[b-ig3j83wok9] {
    padding: 0.15rem 0.4rem;
    font-size: 0.55rem;
    font-weight: 800;
    letter-spacing: 0.02em;
    text-transform: uppercase;
    color: #fff;
    background: linear-gradient(180deg, #dc3545 0%, #b91c1c 100%);
    border: 1px solid #fca5a5;
    border-radius: 4px;
    cursor: pointer;
    white-space: nowrap;
    box-shadow: 0 0 8px rgba(220, 53, 69, 0.4);
}

.vcl-demo-broken-btn:hover[b-ig3j83wok9] {
    box-shadow: 0 0 12px rgba(220, 53, 69, 0.55);
}

.vcl-stage[b-ig3j83wok9] {
    position: relative;
    overflow-x: auto;
    padding: 0.25rem 0;
    display: flex;
    justify-content: center;
}

/* Ladder grid */
.vcl-grid[b-ig3j83wok9] {
    display: flex;
    flex-direction: column;
    gap: 0;
    min-width: min-content;
}

.vcl-grid.single-col[b-ig3j83wok9],
.vcl-grid.two-col[b-ig3j83wok9],
.vcl-grid.three-col[b-ig3j83wok9] {
    align-items: center;
    width: 100%;
}

.vcl-grid-headers[b-ig3j83wok9],
.vcl-grid-workstations[b-ig3j83wok9],
.vcl-file-row[b-ig3j83wok9],
.vcl-vert-row[b-ig3j83wok9] {
    display: flex;
    flex-direction: row;
    align-items: flex-end;
    gap: 0;
}

.vcl-grid.single-col .vcl-grid-headers[b-ig3j83wok9],
.vcl-grid.single-col .vcl-grid-workstations[b-ig3j83wok9],
.vcl-grid.single-col .vcl-file-row[b-ig3j83wok9],
.vcl-grid.single-col .vcl-vert-row[b-ig3j83wok9],
.vcl-grid.two-col .vcl-grid-headers[b-ig3j83wok9],
.vcl-grid.two-col .vcl-grid-workstations[b-ig3j83wok9],
.vcl-grid.two-col .vcl-file-row[b-ig3j83wok9],
.vcl-grid.two-col .vcl-vert-row[b-ig3j83wok9],
.vcl-grid.three-col .vcl-grid-headers[b-ig3j83wok9],
.vcl-grid.three-col .vcl-grid-workstations[b-ig3j83wok9],
.vcl-grid.three-col .vcl-file-row[b-ig3j83wok9],
.vcl-grid.three-col .vcl-vert-row[b-ig3j83wok9] {
    justify-content: center;
    width: 100%;
}

.vcl-head-cell[b-ig3j83wok9] {
    width: 118px;
    flex-shrink: 0;
    font-size: 0.68rem;
    font-weight: 700;
    text-align: center;
    color: var(--jl-accent);
    padding-bottom: 0.35rem;
    opacity: 0;
    transition: opacity 0.4s;
}

.vcl-head-cell.visible[b-ig3j83wok9] {
    opacity: 1;
}

.vcl-head-gap[b-ig3j83wok9] {
    width: 80px;
    flex-shrink: 0;
}

.vcl-head-open[b-ig3j83wok9] {
    width: 52px;
    flex-shrink: 0;
    font-size: 0.58rem;
    color: var(--jl-text-muted);
    text-align: left;
    padding-bottom: 0.35rem;
    opacity: 0.7;
}

.vcl-ws-cell[b-ig3j83wok9] {
    width: 118px;
    flex-shrink: 0;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 0.2rem;
    padding-bottom: 0.5rem;
    min-height: 72px;
}

.vcl-person[b-ig3j83wok9] {
    font-size: 1.75rem;
    line-height: 1;
}

.vcl-computer[b-ig3j83wok9] {
    width: 68px;
    height: 44px;
    border: 2px solid var(--jl-border);
    border-radius: 4px 4px 2px 2px;
    background: linear-gradient(180deg, var(--jl-bg-elevated) 0%, var(--jl-bg-deep) 100%);
    position: relative;
}

.vcl-computer[b-ig3j83wok9]::after {
    content: '';
    position: absolute;
    bottom: -5px;
    left: 50%;
    transform: translateX(-50%);
    width: 32px;
    height: 3px;
    background: var(--jl-border);
    border-radius: 0 0 2px 2px;
}

.vcl-computer-screen[b-ig3j83wok9] {
    margin: 5px;
    height: 28px;
    background: #0a1628;
    border-radius: 2px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 0.5rem;
    color: var(--jl-vault-green);
    font-family: ui-monospace, monospace;
}

.vcl-file-cell[b-ig3j83wok9] {
    width: 118px;
    flex-shrink: 0;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: flex-end;
    min-height: 88px;
}

.vcl-file-cell.spacer[b-ig3j83wok9] {
    min-height: 88px;
    visibility: hidden;
    pointer-events: none;
}

.vcl-click-link[b-ig3j83wok9] {
    font-size: 0.52rem;
    padding: 2px 6px;
    border-radius: 999px;
    border: 1px solid var(--jl-accent);
    background: var(--jl-bg-elevated);
    color: var(--jl-text-primary);
    cursor: pointer;
    margin: 0 0 2px;
    white-space: nowrap;
}

.vcl-click-link:hover[b-ig3j83wok9] {
    background: var(--jl-accent);
    color: var(--jl-accent-text);
}

.vcl-click-link.broken[b-ig3j83wok9],
.vcl-click-link.link-broken[b-ig3j83wok9] {
    border-color: var(--jl-danger);
    background: rgba(220, 53, 69, 0.2);
    color: #fca5a5;
}

.vcl-click-link.link-selected[b-ig3j83wok9] {
    border-color: var(--jl-vault-green);
    box-shadow: 0 0 6px rgba(15, 99, 25, 0.4);
}

.vcl-arrow-down[b-ig3j83wok9] {
    font-size: 0.9rem;
    color: var(--jl-vault-green);
    line-height: 1;
    margin: 1px 0 3px;
}

.vcl-file-box[b-ig3j83wok9] {
    width: 100px;
    padding: 0.4rem 0.5rem;
    border: 2px solid var(--jl-border);
    border-radius: 6px;
    background: var(--jl-bg-deep);
    text-align: center;
    font-size: 0.74rem;
    font-weight: 600;
    box-shadow: 0 2px 6px rgba(0,0,0,0.15);
}

.vcl-file-box.highlight[b-ig3j83wok9] {
    border-color: var(--jl-vault-green);
    box-shadow: 0 0 12px rgba(15, 99, 25, 0.35);
}

.vcl-file-box.new-file[b-ig3j83wok9] {
    animation: vcl-pulse-b-ig3j83wok9 0.8s ease;
}

.vcl-file-box.adjacent-broken[b-ig3j83wok9] {
    border-color: var(--jl-danger);
    box-shadow: 0 0 10px rgba(220, 53, 69, 0.4);
}

@keyframes vcl-pulse-b-ig3j83wok9 {
    0% { transform: scale(0.85); opacity: 0.3; }
    60% { transform: scale(1.04); }
    100% { transform: scale(1); opacity: 1; }
}

/* Horizontal connector between aligned file boxes */
.vcl-connector[b-ig3j83wok9] {
    width: 80px;
    flex-shrink: 0;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    align-self: center;
    min-height: 88px;
    background: none;
    border: none;
    padding: 0;
    cursor: pointer;
    margin-bottom: 0;
}

.vcl-connector-line[b-ig3j83wok9] {
    font-size: 0.85rem;
    color: var(--jl-ladder-ok-strong, var(--jl-vault-green));
    font-weight: 700;
    letter-spacing: -1px;
    transition: color 0.2s;
    text-shadow: none;
}

.vcl-ladder-link-label[b-ig3j83wok9] {
    font-size: 0.52rem;
    font-weight: 700;
    color: var(--jl-accent);
    text-transform: uppercase;
    letter-spacing: 0.03em;
    margin-bottom: 2px;
    white-space: nowrap;
}

.vcl-connector:hover .vcl-connector-line[b-ig3j83wok9],
.vcl-connector.selected .vcl-connector-line[b-ig3j83wok9] {
    color: var(--jl-accent);
}

.vcl-connector.broken .vcl-connector-line[b-ig3j83wok9],
.vcl-connector.broken .vcl-ladder-link-label[b-ig3j83wok9] {
    color: #ef4444;
}

.vcl-connector.broken[b-ig3j83wok9] {
    background: rgba(220, 53, 69, 0.12);
    border-radius: 6px;
}

.vcl-connector.broken .vcl-connector-line[b-ig3j83wok9] {
    text-decoration: line-through;
}

.vcl-open-rung[b-ig3j83wok9] {
    font-size: 0.75rem;
    color: var(--jl-text-muted);
    opacity: 0.5;
    letter-spacing: -1px;
}

/* Vertical between-row links */
.vcl-vert-row[b-ig3j83wok9] {
    align-items: center;
    margin: 0;
}

.vcl-vert-cell[b-ig3j83wok9] {
    width: 118px;
    flex-shrink: 0;
    display: flex;
    justify-content: center;
    height: 22px;
}

.vcl-vert-link[b-ig3j83wok9] {
    background: none;
    border: none;
    color: var(--jl-ladder-ok-strong, var(--jl-vault-green));
    font-size: 1rem;
    line-height: 1;
    cursor: pointer;
    padding: 0;
    text-shadow: none;
    filter: none;
}

/* Light mode: no neon glow bleeding into pale page background */
:global(html[data-theme="light"]) .vcl-connector-line[b-ig3j83wok9],
:global(html[data-theme="light"]) .vcl-vert-link[b-ig3j83wok9],
:global(html[data-theme="light"]) .vcl-arrow-down[b-ig3j83wok9],
:global(html[data-theme="light"]) .vcl-monitor-status[b-ig3j83wok9],
:global(html[data-theme="light"]) .vcl-monitor-hash[b-ig3j83wok9] {
    color: var(--jl-vault-green);
    text-shadow: none;
    filter: none;
    box-shadow: none;
}

.vcl-vert-link.link-selected[b-ig3j83wok9] {
    color: var(--jl-accent);
    text-shadow: 0 0 6px rgba(59, 130, 246, 0.5);
}

.vcl-vert-link.link-broken[b-ig3j83wok9] {
    color: #ef4444;
}

.vcl-launch-btn[b-ig3j83wok9] {
    font-size: 0.7rem;
    padding: 2px 8px;
}

/* Phone / Android — ladder boxes and labels were too small to read */
:global(html.jl-maui-mobile) .vcl-modal[b-ig3j83wok9] {
    width: 100%;
    max-height: 96vh;
}

:global(html.jl-maui-mobile) .vcl-narration[b-ig3j83wok9] {
    font-size: 0.95rem;
}

:global(html.jl-maui-mobile) .vcl-head-cell[b-ig3j83wok9] {
    font-size: 0.82rem;
}

:global(html.jl-maui-mobile) .vcl-file-box[b-ig3j83wok9] {
    font-size: 0.92rem;
    padding: 0.5rem 0.45rem;
    width: 108px;
}

:global(html.jl-maui-mobile) .vcl-click-link[b-ig3j83wok9] {
    font-size: 0.72rem;
    padding: 3px 8px;
}

:global(html.jl-maui-mobile) .vcl-ladder-link-label[b-ig3j83wok9] {
    font-size: 0.72rem;
}

:global(html.jl-maui-mobile) .vcl-header-broken[b-ig3j83wok9] {
    font-size: 0.72rem;
}

:global(html.jl-maui-mobile) .vcl-header-monitor[b-ig3j83wok9] {
    font-size: 0.68rem;
}

:global(html.jl-maui-mobile) .vcl-title-hero-heading[b-ig3j83wok9] {
    font-size: 1rem;
}

:global(html.jl-maui-mobile) .vcl-title-hero-sub[b-ig3j83wok9] {
    font-size: 0.88rem;
}

:global(html.jl-maui-mobile) .vcl-computer-screen[b-ig3j83wok9] {
    font-size: 0.62rem;
}

:global(html.jl-maui-mobile) .vcl-footer-customer[b-ig3j83wok9] {
    font-size: 0.72rem;
    max-width: none;
}
/* /Components/Shared/VisualChainmailPresentation.razor.rz.scp.css */
/* Reuse Visual Chain Ladder modal shell — chainmail-specific stage */
.vcm-overlay[b-rx74jllyq3] {
    position: fixed;
    inset: 0;
    background: rgba(0, 0, 0, 0.82);
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 10000;
    padding: 0.75rem;
}

.vcm-modal[b-rx74jllyq3] {
    background: var(--jl-bg-charcoal);
    border: 2px solid var(--jl-accent);
    border-radius: 14px;
    width: min(920px, 100%);
    max-height: 92vh;
    display: flex;
    flex-direction: column;
    color: var(--jl-text-primary);
    box-shadow: 0 24px 60px -12px rgba(0, 0, 0, 0.75);
}

.vcm-header[b-rx74jllyq3] {
    position: relative;
    padding: 0.65rem 2.4rem 0.65rem 1rem;
    border-bottom: 1px solid var(--jl-border);
}

.vcm-close-btn[b-rx74jllyq3] {
    position: absolute;
    top: 0.45rem;
    right: 0.65rem;
    left: auto;
    background: none;
    border: none;
    font-size: 1.5rem;
    line-height: 1;
    color: var(--jl-text-muted);
    cursor: pointer;
    z-index: 3;
}

.vcm-body[b-rx74jllyq3] {
    padding: 1rem;
    overflow-y: auto;
}

.vcm-narration[b-rx74jllyq3] {
    font-size: 0.82rem;
    line-height: 1.45;
    margin-bottom: 0.75rem;
    color: var(--jl-text-secondary);
}

.vcm-step-num[b-rx74jllyq3] {
    font-weight: 700;
    color: var(--jl-accent);
    margin-right: 0.35rem;
}

.vcm-stage[b-rx74jllyq3] {
    min-height: 220px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: var(--jl-bg-deep);
    border: 1px dashed var(--jl-border);
    border-radius: 10px;
    padding: 1rem;
}

.vcm-footer[b-rx74jllyq3] {
    padding: 0.65rem 1rem;
    border-top: 1px solid var(--jl-border);
    display: flex;
    justify-content: space-between;
    gap: 0.5rem;
}

/* Phase 1 — single ladder */
.vcm-ladder-col[b-rx74jllyq3] {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 4px;
}

.vcm-rung[b-rx74jllyq3] {
    width: 72px;
    height: 22px;
    background: linear-gradient(90deg, #334155, #475569);
    border: 1px solid var(--jl-accent);
    border-radius: 4px;
    font-size: 0.55rem;
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--jl-text-muted);
}

.vcm-rung.sealed[b-rx74jllyq3] {
    border-color: var(--jl-vault-green);
    color: var(--jl-vault-green);
}

.vcm-vert-link[b-rx74jllyq3] {
    width: 2px;
    height: 10px;
    background: var(--jl-accent);
}

/* Phase 2 — two ladders + rings */
.vcm-chainmail-row[b-rx74jllyq3] {
    display: flex;
    align-items: center;
    gap: 12px;
}

.vcm-ring[b-rx74jllyq3] {
    width: 28px;
    height: 28px;
    border: 2px solid var(--jl-accent);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 0.5rem;
    color: var(--jl-accent);
    flex-shrink: 0;
}

.vcm-ring.broken[b-rx74jllyq3] {
    border-color: #ef4444;
    color: #ef4444;
}

.vcm-h-ring[b-rx74jllyq3] {
    width: 40px;
    height: 3px;
    background: var(--jl-accent);
}

/* Phase 3 — mesh grid */
.vcm-mesh[b-rx74jllyq3] {
    display: grid;
    grid-template-columns: repeat(5, 1fr);
    gap: 6px;
    max-width: 280px;
}

.vcm-mesh-cell[b-rx74jllyq3] {
    width: 36px;
    height: 36px;
    border: 1px solid var(--jl-border);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 0.45rem;
    background: #0f172a;
}

.vcm-mesh-cell.active[b-rx74jllyq3] {
    border-color: var(--jl-vault-green);
    box-shadow: 0 0 8px rgba(34, 197, 94, 0.35);
}

.vcm-phase-label[b-rx74jllyq3] {
    text-align: center;
    font-size: 0.65rem;
    color: var(--jl-text-muted);
    margin-top: 0.5rem;
    font-weight: 600;
    letter-spacing: 0.04em;
    text-transform: uppercase;
}
