/* /Layout/MainLayout.razor.rz.scp.css */
.page[b-3n9mf2ik4v] {
    height: 100%;
    position: relative;
    display: flex;
    flex-direction: column;
}

main[b-3n9mf2ik4v] {
    flex: 1;
    display: flex;
    flex-direction: row;
}

.sidebar[b-3n9mf2ik4v] {
    min-width: 13rem;
    background-image: linear-gradient(180deg, #fcfcfc 0%, #f7f7f7 70%);
}

.top-row[b-3n9mf2ik4v] {
    background-color: var(--vds-background-dark);
    color: white;
    border-bottom: 1px solid #d6d5d5;
    justify-content: space-between;
    padding: 1.3rem 3rem;
    height: 6rem;
    display: flex;
    align-items: start;
}

.left-header[b-3n9mf2ik4v] {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
}

.right-header[b-3n9mf2ik4v] {
    display: flex;
    flex-direction: column;
    align-items: flex-end; /* align text to the right */
    line-height: 1.2;
}

.casambi-logo[b-3n9mf2ik4v] {
    width: 120px;
}

.bottom-row[b-3n9mf2ik4v] {
    background-color: var(--vds-background-dark);
    color: white;
    justify-content: center;
    height: 2rem;
    display: flex;
    align-items: center;
    font-size: 0.8rem;
}

    .bottom-row > p[b-3n9mf2ik4v] {
        margin: 0;
    }
/* /Layout/NavMenu.razor.rz.scp.css */
.navbar-toggler[b-uql19xqof4] {
    background-color: rgba(255, 255, 255, 0.1);
}

.top-row[b-uql19xqof4] {
    height: 3.5rem;
    background-color: rgba(0,0,0,0.4);
}

.navbar-brand[b-uql19xqof4] {
    font-size: 1.1rem;
}

.oi[b-uql19xqof4] {
    width: 2rem;
    font-size: 1.1rem;
    vertical-align: text-top;
    top: -2px;
}

.nav-item[b-uql19xqof4] {
    font-size: 0.9rem;
    color: #888888;
    padding-bottom: 0.5rem;
}

    .nav-item:first-of-type[b-uql19xqof4] {
        padding-top: 1rem;
    }

    .nav-item:last-of-type[b-uql19xqof4] {
        padding-bottom: 1rem;
    }

    .nav-item[b-uql19xqof4]  a {
        color: #666666;
        border-radius: 4px;
        height: 3rem;
        display: flex;
        align-items: center;
        line-height: 1.2rem;
    }

        .nav-item[b-uql19xqof4]  a.active {
            background-color: rgba(0, 0, 0, 0.1);
            color: var(--vds-casambi-orange);
        }

        .nav-item[b-uql19xqof4]  a:hover,
        .nav-item[b-uql19xqof4]  a:focus {
            background-color: rgba(0, 0, 0, 0.05);
            color: var(--vds-casambi-orange-dark);
        }

.vertical-spacer[b-uql19xqof4] {
    height: 2rem;
}

.current-customer[b-uql19xqof4],
.current-editbatch[b-uql19xqof4] {
    margin-left: 2rem;
}
/* /Pages/ProjectVersionChips.razor.rz.scp.css */
.version-chips[b-gczyfmdpu1] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.375rem;
    list-style: none;
    margin: 0;
    padding: 0;
}

.version-chip[b-gczyfmdpu1] {
    display: inline-flex;
    align-items: center;
    gap: 0.375rem;
    padding: 0.125rem 0.5rem;
    border: 1px solid #d9d9d9;
    border-radius: 0.25rem;
    background-color: #fff;
    color: #3c4043;
    font-size: 0.875rem;
    line-height: 1.5;
    text-decoration: none;
    white-space: nowrap;
    font-variant-numeric: tabular-nums;
}

/* Resolved, no longer present or suppressed: still listed, but visibly not current. */
.version-chip.is-hidden-finding[b-gczyfmdpu1] {
    background-color: #f5f5f5;
    border-style: dashed;
    color: #5f6368;
}

.chip-status[b-gczyfmdpu1] {
    font-size: 0.75rem;
    color: #5f6368;
}

.version-chip-toggle[b-gczyfmdpu1] {
    background: none;
    border: 0;
    color: var(--vds-casambi-orange-dark);
    cursor: pointer;
    font-size: 0.875rem;
    padding: 0.125rem 0.25rem;
    text-decoration: underline;
}
/* /Pages/SecurityIssues.razor.rz.scp.css */
/* Security issues page — Casambi tokens come from wwwroot/css/app.css (:root). */

.page-header[b-9uspkwip87] {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 2rem;
    margin-bottom: 2rem;
}

    .page-header h1[b-9uspkwip87] {
        margin-bottom: 0.75rem;
    }

.page-description[b-9uspkwip87] {
    color: #5f6368;
    font-size: 1.125rem;
    margin: 0;
    max-width: 60ch;
}

/* Primary action: Casambi orange pill, same as .btn-primary in app.css. */
.page-header[b-9uspkwip87]  .create-incident-button.k-button-solid-primary {
    flex-shrink: 0;
    background-color: var(--vds-casambi-orange);
    border-color: var(--vds-casambi-orange);
    border-radius: 10000px;
    padding: 0.5rem 1.5rem;
    font-weight: 500;
}

    .page-header[b-9uspkwip87]  .create-incident-button.k-button-solid-primary:hover {
        background-color: var(--vds-casambi-orange-dark);
        border-color: var(--vds-casambi-orange-dark);
    }

    .page-header[b-9uspkwip87]  .create-incident-button.k-button-solid-primary:focus-visible {
        box-shadow: 0 0 0 0.2rem rgb(0 0 0 / 20%);
    }

/* Tab-style type filter. */
.issue-type-filter[b-9uspkwip87] {
    margin-bottom: 1.5rem;
}

    .issue-type-filter[b-9uspkwip87]  .k-button {
        padding: 0.5rem 1rem;
        background-color: #fff;
        color: var(--vds-casambi-orange-dark);
    }

        .issue-type-filter[b-9uspkwip87]  .k-button:hover {
            background-color: #f3f3f3;
        }

        .issue-type-filter[b-9uspkwip87]  .k-button.k-selected {
            background-color: var(--vds-casambi-orange);
            border-color: var(--vds-casambi-orange);
            color: #fff;
        }

        .issue-type-filter[b-9uspkwip87]  .k-button:focus-visible {
            box-shadow: 0 0 0 0.2rem rgb(233 93 22 / 35%);
        }

.spinner-wrapper[b-9uspkwip87] {
    position: relative;
}

/* Grid */
[b-9uspkwip87] .security-issues-grid .k-table-td {
    vertical-align: middle;
    padding-top: 1rem;
    padding-bottom: 1rem;
}

[b-9uspkwip87] .security-issues-grid tbody .k-table-row {
    cursor: pointer;
}

[b-9uspkwip87] .security-issues-grid .k-pager .k-button.k-selected {
    background-color: rgb(233 93 22 / 15%);
    color: var(--vds-casambi-orange-dark);
}

.issue-id[b-9uspkwip87] {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 0.5rem;
    font-size: inherit;
}

.issue-title[b-9uspkwip87] {
    margin-top: 0.25rem;
}

.advisory-id[b-9uspkwip87] {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.advisory-status[b-9uspkwip87] {
    color: #5f6368;
    margin-top: 0.125rem;
}

.empty-value[b-9uspkwip87] {
    color: #0071c1;
}

/* Status badges */
.status-badge[b-9uspkwip87] {
    display: inline-block;
    padding: 0.2rem 0.6rem;
    border-radius: 0.375rem;
    font-weight: 600;
    white-space: nowrap;
    line-height: 1.4;
}

.badge-danger[b-9uspkwip87] {
    background-color: #fbe3e3;
    color: #a32626;
}

.badge-orange[b-9uspkwip87] {
    background-color: #fde9df;
    color: var(--vds-casambi-orange-dark);
}

.badge-warning[b-9uspkwip87] {
    background-color: #fdf3cf;
    color: #7a5a00;
}

.badge-success[b-9uspkwip87] {
    background-color: #e3f2e6;
    color: #2a6a3a;
}

.badge-info[b-9uspkwip87] {
    background-color: #e3eef8;
    color: #1f5a8c;
}

.badge-neutral[b-9uspkwip87] {
    background-color: #ececec;
    color: #4a4a4a;
}

@media (max-width: 768px) {
    .page-header[b-9uspkwip87] {
        flex-direction: column;
        gap: 1rem;
    }
}
/* /Pages/VulnerabilityDetail.razor.rz.scp.css */
.spinner-wrapper[b-9liwr0a6go] {
    position: relative;
    min-height: 12rem;
}

.back-link[b-9liwr0a6go] {
    display: inline-block;
    margin-bottom: 1rem;
    color: #5f6368;
    text-decoration: none;
}

    .back-link[b-9liwr0a6go]::before {
        content: "‹ ";
    }

    .back-link:hover[b-9liwr0a6go],
    .back-link:focus-visible[b-9liwr0a6go] {
        color: var(--vds-casambi-orange-dark);
        text-decoration: underline;
    }

.detail-header[b-9liwr0a6go] {
    margin-bottom: 1.5rem;
}

.detail-title-row[b-9liwr0a6go] {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 0.75rem;
}

    .detail-title-row h1[b-9liwr0a6go] {
        margin: 0;
    }

/* The vulnerability title: a one-line summary above the full description. */
.detail-summary[b-9liwr0a6go] {
    margin: 0 0 0.75rem;
    color: #20242a;
    font-weight: 600;
    overflow-wrap: anywhere;
}

.detail-description[b-9liwr0a6go] {
    margin: 0 0 1.5rem;
    color: #3c4043;
    white-space: pre-line;
    line-height: 1.6;
    overflow-wrap: anywhere;
}

    .detail-description p[b-9liwr0a6go] {
        margin: 0 0 0.75rem;
    }

        .detail-description p:last-child[b-9liwr0a6go] {
            margin-bottom: 0;
        }

.fact-list[b-9liwr0a6go] {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 1.25rem 2rem;
    margin: 0;
}

    .fact-list dt[b-9liwr0a6go] {
        font-weight: 400;
        color: #5f6368;
        font-size: 0.875rem;
        margin-bottom: 0.25rem;
    }

    .fact-list dd[b-9liwr0a6go] {
        margin: 0;
        overflow-wrap: anywhere;
    }

/* A fact that needs the whole row, such as the CVSS table. */
.fact-wide[b-9liwr0a6go] {
    grid-column: 1 / -1;
}

/* CVSS: one row per version, so long vectors never share a line. */
.table-scroll-plain[b-9liwr0a6go] {
    overflow-x: auto;
}

.cvss-table[b-9liwr0a6go] {
    border-collapse: collapse;
    width: 100%;
}

    .cvss-table th[b-9liwr0a6go],
    .cvss-table td[b-9liwr0a6go] {
        padding: 0.5rem 1.5rem 0.5rem 0;
        text-align: left;
        vertical-align: top;
    }

    .cvss-table thead th[b-9liwr0a6go] {
        border-bottom: 1px solid #e3e3e3;
        color: #5f6368;
        font-size: 0.8125rem;
        font-weight: 400;
        white-space: nowrap;
    }

    .cvss-table tbody tr + tr > *[b-9liwr0a6go] {
        border-top: 1px solid #eee;
    }

    .cvss-table tbody th[b-9liwr0a6go] {
        font-weight: 600;
    }

    /* The vector takes the remaining width. */
    .cvss-table td:last-child[b-9liwr0a6go] {
        padding-right: 0;
        width: 100%;
    }

.cvss-score[b-9liwr0a6go] {
    font-variant-numeric: tabular-nums;
    font-weight: 600;
    margin-right: 0.375rem;
}

.cvss-vector[b-9liwr0a6go] {
    display: inline-block;
    background-color: #f5f5f5;
    border: 1px solid #e6e6e6;
    border-radius: 0.25rem;
    color: #3c4043;
    font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, "Liberation Mono", monospace;
    font-size: 0.8125rem;
    line-height: 1.5;
    padding: 0.125rem 0.5rem;
    /* Long vectors wrap inside their own cell. */
    overflow-wrap: anywhere;
    word-break: break-all;
}

.secondary-text[b-9liwr0a6go] {
    color: #5f6368;
    font-weight: 400;
}

.section-heading[b-9liwr0a6go] {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    justify-content: space-between;
    gap: 1rem;
    margin-bottom: 1.25rem;
}

    .section-heading h2[b-9liwr0a6go] {
        margin: 0;
    }

.show-all-toggle[b-9liwr0a6go] {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    cursor: pointer;
    color: #5f6368;
    font-size: 0.875rem;
}

    /* No hidden findings: the toggle stays visible but cannot be used. */
    .show-all-toggle.is-disabled[b-9liwr0a6go] {
        cursor: default;
        opacity: 0.6;
    }

/* Shown next to the toggle when loading the hidden findings failed; the page keeps what it already shows. */
.inline-error[b-9liwr0a6go] {
    color: #a32626;
    margin: 0 0 0.75rem;
}

.detail-tabs[b-9liwr0a6go]  .k-tabstrip-items :is(.k-item, .k-tabstrip-item) {
    background-color: #fff;
    color: var(--vds-casambi-orange-dark);
}

    .detail-tabs[b-9liwr0a6go]  .k-tabstrip-items :is(.k-item, .k-tabstrip-item) .k-link {
        color: inherit;
        padding: 0.5rem 1rem;
    }

    .detail-tabs[b-9liwr0a6go]  .k-tabstrip-items :is(.k-item, .k-tabstrip-item):hover {
        background-color: #f3f3f3;
    }

    .detail-tabs[b-9liwr0a6go]  .k-tabstrip-items :is(.k-item, .k-tabstrip-item).k-active {
        background-color: var(--vds-casambi-orange);
        border-color: var(--vds-casambi-orange);
        color: #fff;
    }

    .detail-tabs[b-9liwr0a6go]  .k-tabstrip-items :is(.k-item, .k-tabstrip-item):focus-visible,
    .detail-tabs[b-9liwr0a6go]  .k-tabstrip-items :is(.k-item, .k-tabstrip-item) .k-link:focus-visible {
        box-shadow: 0 0 0 0.2rem rgb(233 93 22 / 35%);
    }

.detail-tabs[b-9liwr0a6go]  .k-tabstrip-content {
    padding: 1.5rem;
}

.detail-section + .detail-section[b-9liwr0a6go] {
    border-top: 1px solid #e3e3e3;
    margin-top: 2rem;
    padding-top: 2rem;
}

.detail-section h2[b-9liwr0a6go] {
    font-size: 1.375rem;
    margin-bottom: 1.25rem;
}

/* Product: a collapsible block with a header row and a table of components. */
.product-section[b-9liwr0a6go] {
    border: 1px solid #e3e3e3;
    border-radius: 0.375rem;
    margin-top: 1rem;
    overflow: hidden;
}

.product-summary[b-9liwr0a6go] {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 0.5rem 0.75rem;
    padding: 0.875rem 1.25rem;
    cursor: pointer;
    list-style: none;
}

    .product-summary[b-9liwr0a6go]::-webkit-details-marker {
        display: none;
    }

    /* Chevron: points right when closed, down when open. */
    .product-summary[b-9liwr0a6go]::before {
        content: "";
        flex: none;
        width: 0.5rem;
        height: 0.5rem;
        border-right: 2px solid #5f6368;
        border-bottom: 2px solid #5f6368;
        transform: rotate(-45deg);
        transition: transform 0.15s ease;
    }

.product-section[open] > .product-summary[b-9liwr0a6go]::before {
    transform: rotate(45deg);
}

.product-summary:hover[b-9liwr0a6go] {
    background-color: #fafafa;
}

.product-summary:focus-visible[b-9liwr0a6go] {
    outline: 2px solid var(--vds-casambi-orange-dark);
    outline-offset: -2px;
}

.product-summary h3[b-9liwr0a6go] {
    font-size: 1.125rem;
    font-weight: 600;
    margin: 0;
    overflow-wrap: anywhere;
}

.product-counts[b-9liwr0a6go] {
    font-size: 0.875rem;
}

.product-status[b-9liwr0a6go] {
    margin-left: auto;
}

.table-scroll[b-9liwr0a6go] {
    border-top: 1px solid #e3e3e3;
    overflow-x: auto;
}

.finding-table[b-9liwr0a6go] {
    width: 100%;
    border-collapse: collapse;
}

    .finding-table > thead th[b-9liwr0a6go] {
        background-color: #fafafa;
        border-bottom: 1px solid #e3e3e3;
        color: #5f6368;
        font-size: 0.875rem;
        font-weight: 400;
        padding: 0.5rem 1.25rem;
        text-align: left;
        white-space: nowrap;
    }

    .finding-table > tbody > tr > td[b-9liwr0a6go] {
        border-bottom: 1px solid #eee;
        padding: 0.75rem 1.25rem;
        vertical-align: top;
    }

    .finding-table > tbody > tr:last-child > td[b-9liwr0a6go] {
        border-bottom: 0;
    }

    /* A component row followed by its notes or breakdown reads as one item. */
    .finding-table > tbody > tr.has-detail-row > td[b-9liwr0a6go] {
        border-bottom: 0;
        padding-bottom: 0.375rem;
    }

    .finding-table > tbody > tr.detail-row > td[b-9liwr0a6go] {
        padding-top: 0;
    }

.decision-table[b-9liwr0a6go] {
    min-width: 56rem;
}

.component-cell[b-9liwr0a6go] {
    min-width: 14rem;
}

.component-name[b-9liwr0a6go] {
    font-size: 1rem;
    font-weight: 500;
    overflow-wrap: anywhere;
}

.package-url[b-9liwr0a6go] {
    font-size: 0.8125rem;
    margin-top: 0.125rem;
    overflow-wrap: anywhere;
}

.nowrap[b-9liwr0a6go] {
    white-space: nowrap;
}

.analysis-summary[b-9liwr0a6go] {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 0.375rem;
    list-style: none;
    margin: 0;
    padding: 0;
}

.mixed-breakdown > summary[b-9liwr0a6go] {
    color: var(--vds-casambi-orange-dark);
    cursor: pointer;
    font-size: 0.875rem;
    width: fit-content;
}

    .mixed-breakdown > summary:focus-visible[b-9liwr0a6go] {
        outline: 2px solid var(--vds-casambi-orange-dark);
        outline-offset: 2px;
    }

/* Two short columns: size to the content instead of spreading across the row. */
.breakdown-table[b-9liwr0a6go] {
    border-collapse: collapse;
    font-size: 0.875rem;
    margin-top: 0.5rem;
    width: auto;
}

    .breakdown-table th[b-9liwr0a6go] {
        color: #5f6368;
        font-weight: 400;
        padding: 0.375rem 2.5rem 0.375rem 0;
        text-align: left;
        white-space: nowrap;
    }

    .breakdown-table td[b-9liwr0a6go] {
        border-top: 1px solid #eee;
        padding: 0.375rem 2.5rem 0.375rem 0;
        vertical-align: top;
    }

.decision-notes[b-9liwr0a6go] {
    background-color: #f7f7f7;
    border-radius: 0.375rem;
    display: grid;
    font-size: 0.875rem;
    gap: 0.5rem;
    margin: 0;
    padding: 0.625rem 0.875rem;
}

    .decision-notes dt[b-9liwr0a6go] {
        color: #5f6368;
        font-weight: 400;
    }

    .decision-notes dd[b-9liwr0a6go] {
        margin: 0;
        overflow-wrap: anywhere;
    }

.action-cell[b-9liwr0a6go] {
    min-width: 20rem;
}

.deptrack-picker[b-9liwr0a6go] {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 0.5rem;
}

.version-select[b-9liwr0a6go] {
    max-width: 18rem;
    min-width: 0;
    padding: 0.3rem 0.5rem;
    border: 1px solid #c8c8c8;
    border-radius: 0.25rem;
    background-color: #fff;
    color: #3c4043;
    font-size: 0.875rem;
    font-variant-numeric: tabular-nums;
}

    .version-select:focus-visible[b-9liwr0a6go] {
        outline: 2px solid var(--vds-casambi-orange-dark);
        outline-offset: 2px;
    }

/* Visible to screen readers only: the dropdown's label. */
.sr-only[b-9liwr0a6go] {
    position: absolute;
    width: 1px;
    height: 1px;
    margin: -1px;
    padding: 0;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
}

.deptrack-button[b-9liwr0a6go] {
    display: inline-block;
    white-space: nowrap;
    background-color: var(--vds-casambi-orange);
    border: 1px solid var(--vds-casambi-orange);
    border-radius: 10000px;
    color: #fff;
    font-size: 0.875rem;
    padding: 0.3rem 0.875rem;
    text-decoration: none;
}

    .deptrack-button:hover[b-9liwr0a6go] {
        background-color: var(--vds-casambi-orange-dark);
        border-color: var(--vds-casambi-orange-dark);
        color: #fff;
    }

    .deptrack-button:focus-visible[b-9liwr0a6go] {
        outline: 2px solid var(--vds-casambi-orange-dark);
        outline-offset: 2px;
    }

.analysis-details[b-9liwr0a6go] {
    white-space: pre-line;
}

.empty-state[b-9liwr0a6go] {
    background-color: #f7f7f7;
    border: 1px solid #e3e3e3;
    border-radius: 0.375rem;
    color: #5f6368;
    margin: 0;
    padding: 1.25rem;
}

.status-badge[b-9liwr0a6go] {
    display: inline-block;
    padding: 0.2rem 0.6rem;
    border-radius: 0.375rem;
    font-weight: 600;
    white-space: nowrap;
    line-height: 1.4;
}

.badge-danger[b-9liwr0a6go] {
    background-color: #fbe3e3;
    color: #a32626;
}

.badge-orange[b-9liwr0a6go] {
    background-color: #fde9df;
    color: var(--vds-casambi-orange-dark);
}

.badge-warning[b-9liwr0a6go] {
    background-color: #fdf3cf;
    color: #7a5a00;
}

.badge-success[b-9liwr0a6go] {
    background-color: #e3f2e6;
    color: #2a6a3a;
}

.badge-info[b-9liwr0a6go] {
    background-color: #e3eef8;
    color: #1f5a8c;
}

.badge-neutral[b-9liwr0a6go] {
    background-color: #ececec;
    color: #4a4a4a;
}

@media (prefers-reduced-motion: reduce) {
    .product-summary[b-9liwr0a6go]::before {
        transition: none;
    }
}

@media (max-width: 768px) {
    .fact-list[b-9liwr0a6go] {
        grid-template-columns: 1fr;
    }

    .detail-tabs[b-9liwr0a6go]  .k-tabstrip-content {
        padding: 1rem;
    }

    .product-summary[b-9liwr0a6go],
    .finding-table > thead th[b-9liwr0a6go],
    .finding-table > tbody > tr > td[b-9liwr0a6go] {
        padding-left: 1rem;
        padding-right: 1rem;
    }

    .product-status[b-9liwr0a6go] {
        margin-left: 0;
    }

    .cvss-table th[b-9liwr0a6go],
    .cvss-table td[b-9liwr0a6go] {
        padding-right: 0.75rem;
    }
}
