.project-bid-review {
    display: grid;
    gap: 1.15rem;
}

.project-bid-workspace {
    display: grid;
    gap: 1rem;
}

.project-bid-workspace__toolbar-card {
    display: flex;
    justify-content: space-between;
    gap: 1rem;
    align-items: end;
    border: 1px solid #d8e1ea;
    box-shadow: 0 14px 34px rgba(15, 23, 42, 0.06);
}

.project-bid-workspace__toolbar-copy {
    min-width: 0;
}

.project-bid-workspace__mode-switch {
    display: flex;
    flex-wrap: wrap;
    gap: 0.45rem;
    justify-content: flex-end;
}

.project-bid-workspace__grid {
    display: grid;
    gap: 1rem;
    align-items: start;
}

.project-bid-workspace__grid.is-split {
    grid-template-columns: minmax(0, 1.3fr) minmax(340px, 0.95fr);
}

.project-bid-workspace__grid.is-left-only,
.project-bid-workspace__grid.is-right-only {
    grid-template-columns: minmax(0, 1fr);
}

.project-bid-workspace__pane {
    min-width: 0;
}

.project-bid-workspace__pane.is-hidden {
    display: none;
}

.project-bid-workspace__pane-scroll,
.project-bid-workspace__pane-scroll > .project-bid-review,
.project-bid-workspace__pane-scroll > .project-estimate-compare {
    min-height: 0;
}

.project-estimate-compare {
    display: grid;
}

.project-estimate-compare__card {
    border: 1px solid #d8e1ea;
    box-shadow: 0 14px 34px rgba(15, 23, 42, 0.06);
    background: linear-gradient(180deg, #ffffff 0%, #fbfdff 100%);
}

.project-estimate-compare__summary {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(140px, 1fr));
    gap: 0.7rem;
    margin-bottom: 0.8rem;
}

.project-estimate-compare__topbar {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: center;
    gap: 0.7rem;
    margin-bottom: 0.75rem;
}

.project-estimate-compare__loading {
    align-items: flex-start;
}

.project-estimate-compare__summary-item {
    padding: 0.8rem 0.9rem;
    border-radius: 16px;
    border: 1px solid #d9e2ec;
    background: linear-gradient(180deg, #ffffff 0%, #f8fbfd 100%);
}

.project-estimate-compare__summary-item.is-total {
    background: linear-gradient(180deg, #eef7ff 0%, #ddeefe 100%);
    border-color: #b6d2f2;
}

.project-estimate-compare__summary-label {
    color: #52606d;
    font-size: 0.72rem;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 0.05em;
}

.project-estimate-compare__summary-value {
    color: #102a43;
    font-size: 1.15rem;
    font-weight: 800;
    margin-top: 0.24rem;
}

.project-estimate-compare__controls {
    display: flex;
    flex-wrap: wrap;
    gap: 0.45rem;
    margin-bottom: 0.75rem;
}

.project-estimate-compare__match-summary {
    margin-bottom: 0.75rem;
    padding: 0.55rem 0.72rem;
    border: 1px solid #dbe7f3;
    border-radius: 14px;
    background: linear-gradient(180deg, #f8fbff 0%, #f1f7ff 100%);
    color: #334e68;
    font-size: 0.76rem;
    font-weight: 700;
    line-height: 1.35;
}

.project-estimate-compare__view-toggle {
    display: inline-flex;
    flex-wrap: wrap;
    gap: 0.4rem;
    padding: 0.28rem;
    border: 1px solid #d9e2ec;
    border-radius: 999px;
    background: #f8fbfd;
}

.project-estimate-compare__filter-toggle {
    display: inline-flex;
    flex-wrap: wrap;
    gap: 0.38rem;
    padding: 0.28rem;
    border: 1px solid #d9e2ec;
    border-radius: 999px;
    background: #f8fbfd;
}

.project-estimate-compare__view-pill {
    border: 0;
    border-radius: 999px;
    background: transparent;
    color: #486581;
    font-size: 0.77rem;
    font-weight: 700;
    padding: 0.38rem 0.8rem;
    cursor: pointer;
    transition: background-color 140ms ease, color 140ms ease, box-shadow 140ms ease;
}

.project-estimate-compare__view-pill:hover,
.project-estimate-compare__view-pill:focus-visible {
    color: #102a43;
    background: #eef4f8;
}

.project-estimate-compare__view-pill.is-active {
    background: #ffffff;
    color: #102a43;
    box-shadow: 0 1px 2px rgba(15, 23, 42, 0.08);
}

.project-estimate-compare__filter-pill {
    border: 0;
    border-radius: 999px;
    background: transparent;
    color: #486581;
    font-size: 0.77rem;
    font-weight: 700;
    padding: 0.38rem 0.8rem;
    cursor: pointer;
    transition: background-color 140ms ease, color 140ms ease, box-shadow 140ms ease, opacity 140ms ease;
}

.project-estimate-compare__filter-pill:hover,
.project-estimate-compare__filter-pill:focus-visible {
    color: #102a43;
    background: #eef4f8;
}

.project-estimate-compare__filter-pill.is-active {
    background: #ffffff;
    color: #102a43;
    box-shadow: 0 1px 2px rgba(15, 23, 42, 0.08);
}

.project-estimate-compare__filter-pill:disabled {
    opacity: 0.55;
    cursor: not-allowed;
    background: transparent;
    color: #7b8794;
    box-shadow: none;
}

.project-estimate-compare__control-btn {
    border-radius: 999px;
}

.project-estimate-compare__area-list {
    display: grid;
    gap: 0.75rem;
}

.project-estimate-compare__trade-view-list {
    display: grid;
    gap: 0.75rem;
}

.project-estimate-compare__area-card {
    border: 1px solid #d9e2ec;
    border-radius: 20px;
    background: #fff;
    box-shadow: 0 12px 28px rgba(15, 23, 42, 0.055);
    overflow: hidden;
}

.project-estimate-compare__area-header,
.project-estimate-compare__trade-header,
.project-estimate-compare__item-row {
    display: flex;
    justify-content: space-between;
    gap: 0.8rem;
    align-items: start;
}

.project-estimate-compare__area-header {
    padding: 1rem 1.05rem 0.8rem;
    border-bottom: 1px solid #e2e8f0;
    background: linear-gradient(180deg, #ffffff 0%, #fbfdff 100%);
}

.project-estimate-compare__area-toggle {
    width: 100%;
    border: 0;
    text-align: left;
    cursor: pointer;
}

.project-estimate-compare__area-header-main,
.project-estimate-compare__area-header-side {
    display: flex;
    align-items: center;
    gap: 0.7rem;
}

.project-estimate-compare__area-header-side {
    margin-left: auto;
}

.project-estimate-compare__area-chevron {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 1.9rem;
    height: 1.9rem;
    border-radius: 999px;
    border: 1px solid #d7e2ee;
    background: #f8fbfd;
    color: #52606d;
    font-size: 0.72rem;
    transition: transform 160ms ease, background-color 160ms ease, color 160ms ease, border-color 160ms ease;
}

.project-estimate-compare__area-chevron.is-open {
    color: #1d4f91;
    background: #eef7ff;
    border-color: #c9dff6;
    transform: rotate(180deg);
}

.project-estimate-compare__area-title,
.project-estimate-compare__trade-title {
    color: #102a43;
    font-weight: 800;
}

.project-estimate-compare__area-title {
    font-size: 0.9rem;
}

.project-estimate-compare__trade-title {
    font-size: 0.82rem;
}

.project-estimate-compare__area-meta,
.project-estimate-compare__trade-meta,
.project-estimate-compare__item-meta {
    color: #61758a;
    font-size: 0.72rem;
    line-height: 1.35;
}

.project-estimate-compare__area-meta {
    display: flex;
    flex-wrap: wrap;
    gap: 0.2rem 0.45rem;
    align-items: center;
}

.project-estimate-compare__photo-badge,
.project-estimate-compare__measurement-badge {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    padding: 0.14rem 0.52rem;
    border-radius: 999px;
    border: 1px solid #d7e2ee;
    background: #f8fbfd;
    color: #486581;
    font-size: 0.71rem;
    font-weight: 700;
    cursor: pointer;
    transition: border-color 140ms ease, background-color 140ms ease, color 140ms ease, transform 140ms ease;
}

.project-estimate-compare__photo-badge:hover,
.project-estimate-compare__photo-badge:focus-visible,
.project-estimate-compare__measurement-badge:hover,
.project-estimate-compare__measurement-badge:focus-visible {
    border-color: #9fb3c8;
    color: #102a43;
    transform: translateY(-1px);
}

.project-estimate-compare__photo-badge.is-open,
.project-estimate-compare__measurement-badge.is-open {
    background: #eef7ff;
    border-color: #b6d2f2;
    color: #1d4f91;
}

.project-estimate-compare__photo-badge-chevron,
.project-estimate-compare__measurement-badge-chevron {
    font-size: 0.62rem;
    transition: transform 160ms ease;
}

.project-estimate-compare__photo-badge.is-open .project-estimate-compare__photo-badge-chevron,
.project-estimate-compare__measurement-badge.is-open .project-estimate-compare__measurement-badge-chevron {
    transform: rotate(180deg);
}

.project-estimate-compare__area-total,
.project-estimate-compare__trade-total,
.project-estimate-compare__item-total {
    color: #102a43;
    font-weight: 800;
    white-space: nowrap;
}

.project-estimate-compare__area-total {
    font-size: 0.92rem;
}

.project-estimate-compare__trade-total,
.project-estimate-compare__item-total {
    font-size: 0.82rem;
}

.project-estimate-compare__trade-list {
    display: grid;
    gap: 0.75rem;
    padding: 0 1.05rem 1rem;
}

.project-estimate-compare__measurement-panel,
.project-estimate-compare__photo-panel {
    margin: 0 1.05rem 0.65rem;
    padding: 0.7rem 0.78rem;
    border: 1px solid #e2e8f0;
    border-radius: 15px;
    background: #f8fafc;
}

.project-estimate-compare__measurement-copy {
    display: flex;
    flex-wrap: wrap;
    gap: 0.18rem 0.55rem;
    margin-bottom: 0.5rem;
    color: #52606d;
    font-size: 0.72rem;
}

.project-estimate-compare__measurement-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(88px, 1fr));
    gap: 0.45rem;
}

.project-estimate-compare__measurement-metric {
    min-width: 0;
    padding: 0.45rem 0.52rem;
    border: 1px solid #dde7f1;
    border-radius: 12px;
    background: #fff;
}

.project-estimate-compare__measurement-label {
    color: #7b8794;
    font-size: 0.67rem;
    font-weight: 700;
    letter-spacing: 0.02em;
    text-transform: uppercase;
}

.project-estimate-compare__measurement-value {
    margin-top: 0.14rem;
    color: #102a43;
    font-size: 0.81rem;
    font-weight: 700;
    line-height: 1.25;
}

.project-estimate-compare__photo-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(72px, 1fr));
    gap: 0.5rem;
}

.project-estimate-compare__photo-thumb {
    position: relative;
    display: block;
    width: 100%;
    aspect-ratio: 1;
    border: 1px solid #d9e2ec;
    border-radius: 12px;
    padding: 0;
    overflow: hidden;
    background: #f8fafc;
    cursor: pointer;
    transition: transform 140ms ease, box-shadow 140ms ease, border-color 140ms ease;
}

.project-estimate-compare__photo-thumb:hover,
.project-estimate-compare__photo-thumb:focus-visible {
    border-color: #9fb3c8;
    box-shadow: 0 10px 22px rgba(15, 23, 42, 0.1);
    transform: translateY(-1px);
}

.project-estimate-compare__photo-thumb-img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.project-estimate-compare__trade-block--global {
    border: 1px solid #d9e2ec;
    border-radius: 16px;
    background: linear-gradient(180deg, rgba(248, 251, 253, 0.95) 0%, #ffffff 100%);
    box-shadow: 0 10px 22px rgba(15, 23, 42, 0.045);
    overflow: hidden;
}

.project-estimate-compare__trade-block--area {
    border: 1px solid #d9e2ec;
    border-radius: 16px;
    background: linear-gradient(180deg, #fbfdff 0%, #ffffff 100%);
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.85), 0 8px 18px rgba(15, 23, 42, 0.04);
    overflow: hidden;
}

.project-estimate-compare__trade-header {
    padding: 0.78rem 0.85rem;
    border: 1px solid #e2e8f0;
    border-radius: 15px;
    background: #f8fafc;
}

.project-estimate-compare__trade-block--global .project-estimate-compare__trade-header {
    padding: 0.78rem 0.9rem;
    border: 0;
    border-radius: 0;
    background: transparent;
}

.project-estimate-compare__trade-block--area .project-estimate-compare__trade-header {
    padding: 0.82rem 0.9rem;
    border: 0;
    border-radius: 0;
    background: linear-gradient(180deg, rgba(248, 251, 253, 0.92) 0%, rgba(241, 245, 249, 0.72) 100%);
    border-bottom: 1px solid #e2e8f0;
}

.project-estimate-compare__trade-toggle {
    width: 100%;
    border: 0;
    background: transparent;
    text-align: left;
    cursor: pointer;
    transition: background-color 140ms ease;
}

.project-estimate-compare__trade-toggle:hover,
.project-estimate-compare__trade-toggle:focus-visible {
    background: #f3f8fc;
}

.project-estimate-compare__trade-block--area .project-estimate-compare__trade-toggle:hover,
.project-estimate-compare__trade-block--area .project-estimate-compare__trade-toggle:focus-visible {
    background: linear-gradient(180deg, #f4f9fe 0%, #eef5fb 100%);
}

.project-estimate-compare__trade-header-side {
    display: inline-flex;
    align-items: center;
    gap: 0.65rem;
    margin-left: auto;
}

.project-estimate-compare__trade-chevron {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 1.55rem;
    height: 1.55rem;
    border-radius: 999px;
    color: #61758a;
    font-size: 0.72rem;
    transition: transform 160ms ease, color 160ms ease, background-color 160ms ease, border-color 160ms ease;
    border: 1px solid transparent;
}

.project-estimate-compare__trade-chevron.is-open {
    color: #1d4f91;
    background: #eef7ff;
    border-color: #c9dff6;
    transform: rotate(180deg);
}

.project-estimate-compare__item-list {
    display: grid;
    gap: 0.4rem;
    margin-top: 0.42rem;
}

.project-estimate-compare__trade-body {
    padding: 0 0.9rem 0.9rem;
}

.project-estimate-compare__trade-block--area .project-estimate-compare__trade-body {
    padding: 0.8rem 0.9rem 0.9rem;
    background: linear-gradient(180deg, rgba(248, 251, 253, 0.68) 0%, rgba(255, 255, 255, 0.98) 100%);
}

.project-estimate-compare__trade-block--area .project-estimate-compare__item-list {
    gap: 0.5rem;
    margin-top: 0;
}

.project-estimate-compare__narrative-group-list {
    display: grid;
    gap: 0.5rem;
    margin-top: 0.5rem;
}

.project-estimate-compare__trade-block--global .project-estimate-compare__narrative-group-list {
    gap: 0.55rem;
    margin-top: 0;
}

.project-estimate-compare__narrative-group-card {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 0.75rem;
    padding: 0.7rem;
    border: 1px solid #dbe7f3;
    border-radius: 14px;
    background: #fff;
}

.project-estimate-compare__trade-block--global .project-estimate-compare__narrative-group-card {
    padding: 0.72rem;
}

.project-estimate-compare__narrative-group-card.is-compare-match {
    border-color: #3b82f6;
    background: linear-gradient(180deg, #f8fbff 0%, #eef6ff 100%);
    box-shadow: 0 0 0 1px rgba(59, 130, 246, 0.12), 0 10px 24px rgba(15, 23, 42, 0.08);
}

.project-estimate-compare__narrative-group-card.is-compare-primary {
    border-color: #2563eb;
    box-shadow: 0 0 0 1px rgba(37, 99, 235, 0.2), 0 14px 28px rgba(15, 23, 42, 0.1);
}

.project-estimate-compare__narrative-group-heading {
    width: 100%;
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 0.75rem;
    padding: 0;
    border: 0;
    background: transparent;
    text-align: left;
}

.project-estimate-compare__narrative-group-toggle {
    cursor: pointer;
}

.project-estimate-compare__narrative-group-toggle:hover .project-estimate-compare__narrative-group-title,
.project-estimate-compare__narrative-group-toggle:focus-visible .project-estimate-compare__narrative-group-title {
    color: #1d4f91;
}

.project-estimate-compare__narrative-group-main {
    min-width: 0;
    display: grid;
    gap: 0.42rem;
    flex: 1;
}

.project-estimate-compare__narrative-group-kicker {
    color: #4b6b88;
    font-size: 0.68rem;
    font-weight: 800;
    letter-spacing: 0.06em;
    text-transform: uppercase;
}

.project-estimate-compare__narrative-group-title {
    color: #102a43;
    font-size: 0.82rem;
    font-weight: 760;
    line-height: 1.3;
}

.project-estimate-compare__narrative-group-stats {
    display: inline-flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: flex-end;
    gap: 0.32rem;
    color: #486581;
    font-size: 0.72rem;
    white-space: nowrap;
}

.project-estimate-compare__narrative-group-chevron {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 1.45rem;
    height: 1.45rem;
    border-radius: 999px;
    color: #61758a;
    border: 1px solid #dbe7f3;
    transition: transform 160ms ease, color 160ms ease, background-color 160ms ease;
}

.project-estimate-compare__narrative-group-chevron.is-open {
    color: #1d4f91;
    background: #eef7ff;
    transform: rotate(180deg);
}

.project-estimate-compare__narrative-group-contexts {
    display: grid;
    gap: 0.35rem;
    margin-top: 0.55rem;
}

.project-estimate-compare__narrative-group-context {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 0.7rem;
    padding: 0.45rem 0.55rem;
    border-radius: 10px;
    background: #f8fbfd;
}

.project-estimate-compare__narrative-group-context-room {
    color: #1d4f91;
    font-size: 0.75rem;
    font-weight: 760;
}

.project-estimate-compare__narrative-group-context-item,
.project-estimate-compare__narrative-group-context-meta {
    color: #52606d;
    font-size: 0.72rem;
    line-height: 1.3;
}

.project-estimate-compare__narrative-group-context-total {
    color: #102a43;
    font-size: 0.75rem;
    font-weight: 780;
    white-space: nowrap;
}

.project-estimate-compare__item-row {
    padding: 0.62rem 0.65rem;
    border: 1px solid #e2e8f0;
    border-radius: 12px;
    background: #fff;
}

.project-estimate-compare__trade-block--area .project-estimate-compare__item-row {
    padding: 0.68rem 0.72rem;
    background: linear-gradient(180deg, #ffffff 0%, #fbfdff 100%);
    box-shadow: 0 4px 12px rgba(15, 23, 42, 0.03);
}

.project-estimate-compare__item-row.is-compare-match {
    border-color: #3b82f6;
    background: linear-gradient(180deg, #f8fbff 0%, #eef6ff 100%);
    box-shadow: 0 0 0 1px rgba(59, 130, 246, 0.12), 0 10px 24px rgba(15, 23, 42, 0.08);
}

.project-estimate-compare__item-row.is-compare-primary {
    border-color: #2563eb;
    box-shadow: 0 0 0 1px rgba(37, 99, 235, 0.2), 0 14px 28px rgba(15, 23, 42, 0.1);
}

.project-estimate-compare__item-title {
    color: #102a43;
    font-size: 0.8rem;
    font-weight: 700;
    line-height: 1.3;
}

.project-estimate-compare__item-narrative {
    color: #243b53;
    font-size: 0.8rem;
    font-weight: 600;
    line-height: 1.3;
    margin-top: 0.12rem;
}

.project-estimate-compare__item-main {
    min-width: 0;
}

.project-estimate-compare__item-meta {
    display: flex;
    flex-wrap: wrap;
    gap: 0.2rem 0.55rem;
    margin-top: 0.14rem;
}

.project-estimate-compare__item-match-pill {
    display: inline-flex;
    align-items: center;
    margin-top: 0.32rem;
    padding: 0.16rem 0.5rem;
    border-radius: 999px;
    background: rgba(29, 78, 216, 0.1);
    color: #1d4ed8;
    font-size: 0.68rem;
    font-weight: 800;
    letter-spacing: 0.02em;
    text-transform: uppercase;
}

.project-estimate-compare__item-match-pill.is-primary {
    background: rgba(37, 99, 235, 0.16);
    color: #1d4ed8;
}

.project-estimate-compare__item-match-pill--reviewer {
    background: #e0f2fe;
    color: #075985;
}

.project-estimate-compare__item-room {
    color: #1d4f91;
    font-weight: 700;
}

.project-estimate-compare__reviewer-actions {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.35rem;
    margin-top: 0.45rem;
}

.project-estimate-compare__reviewer-qty-field {
    display: inline-flex;
    align-items: center;
    gap: 0.3rem;
    color: #486581;
    font-size: 0.72rem;
    font-weight: 800;
}

.project-estimate-compare__reviewer-qty-input {
    width: 5.5rem;
    min-height: 1.9rem;
    padding: 0.25rem 0.45rem;
    border: 1px solid #cbd5e1;
    border-radius: 0.5rem;
    color: #102a43;
    font-size: 0.78rem;
    font-weight: 700;
}

.project-estimate-compare__reviewer-remove {
    color: #b42318;
    border-color: #fecaca;
}

.project-estimate-compare__reviewer-remove:hover,
.project-estimate-compare__reviewer-remove:focus-visible {
    color: #7f1d1d;
    border-color: #fca5a5;
    background: #fff1f2;
}

.project-estimate-compare__reviewer-error {
    margin-top: 0.4rem;
    padding: 0.38rem 0.5rem;
    border: 1px solid #fecaca;
    border-radius: 0.55rem;
    background: #fff1f2;
    color: #991b1b;
    font-size: 0.72rem;
    font-weight: 700;
}

.project-estimate-compare__breadcrumb {
    display: flex;
    flex-wrap: wrap;
    gap: 0.18rem 0.35rem;
    margin-top: 0.18rem;
}

.project-estimate-compare__breadcrumb-segment,
.project-estimate-compare__narrative-meta {
    color: #61758a;
    font-size: 0.7rem;
}

.project-estimate-compare__breadcrumb-separator {
    color: #9aa5b1;
    font-size: 0.7rem;
}

.project-estimate-compare__narrative-meta {
    margin-top: 0.1rem;
}

.project-estimate-compare__imgmodal-overlay {
    position: fixed;
    inset: 0;
    z-index: 1200;
    background: rgba(15, 23, 42, 0.72);
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 1.4rem;
}

.project-estimate-compare__imgmodal {
    position: relative;
    width: min(92vw, 64rem);
    max-height: 90vh;
    overflow: auto;
    border-radius: 20px;
    background: #fff;
    box-shadow: 0 28px 64px rgba(15, 23, 42, 0.28);
    padding: 1rem 1rem 1.15rem;
}

.project-estimate-compare__imgmodal-close {
    position: absolute;
    top: 0.85rem;
    right: 0.85rem;
    width: 2rem;
    height: 2rem;
    border: 0;
    border-radius: 999px;
    background: rgba(15, 23, 42, 0.08);
    color: #102a43;
    font-size: 1.1rem;
    line-height: 1;
}

.project-estimate-compare__imgmodal-meta {
    padding-right: 2.5rem;
    margin-bottom: 0.75rem;
}

.project-estimate-compare__imgmodal-title {
    color: #102a43;
    font-size: 0.94rem;
    font-weight: 800;
}

.project-estimate-compare__imgmodal-copy {
    color: #52606d;
    font-size: 0.78rem;
    margin-top: 0.16rem;
}

.project-estimate-compare__imgmodal-img {
    display: block;
    width: 100%;
    max-height: calc(90vh - 6rem);
    object-fit: contain;
    border-radius: 14px;
    background: #f8fafc;
}

@media (min-width: 1200px) {
    .project-bid-workspace__grid.is-split {
        grid-template-columns: minmax(0, 1.3fr) minmax(340px, 0.95fr);
        height: calc(100vh - 13.5rem);
        min-height: 42rem;
        align-items: stretch;
        overflow: hidden;
    }

    .project-bid-workspace__grid.is-split .project-bid-workspace__pane {
        min-height: 0;
        overflow: hidden;
    }

    .project-bid-workspace__grid.is-split .project-bid-workspace__pane-scroll {
        height: 100%;
        overflow-y: auto;
        overflow-x: hidden;
        overscroll-behavior: contain;
        padding-right: 0.2rem;
    }

    .project-bid-workspace__grid.is-split .project-bid-workspace__pane-scroll--right {
        padding-top: 12.5rem;
    }
}

.project-bid-review__hero-card,
.project-bid-review__summary-card,
.project-bid-review__filters-card {
    border: 1px solid #d8e1ea;
    box-shadow: 0 14px 34px rgba(15, 23, 42, 0.06);
}

@media (max-width: 1199.98px) {
    .project-bid-workspace__grid.is-split {
        grid-template-columns: minmax(0, 1fr);
    }
}

@media (max-width: 767.98px) {
    .project-bid-workspace__toolbar-card {
        align-items: stretch;
        flex-direction: column;
    }

    .project-bid-workspace__mode-switch {
        justify-content: flex-start;
    }

    .project-estimate-compare__topbar {
        align-items: stretch;
    }
}

.project-bid-review__hero-card {
    background: linear-gradient(180deg, #ffffff 0%, #fbfdff 100%);
}

.project-bid-review__hero-card.is-condensed .project-bid__header {
    padding-bottom: 0.5rem;
}

.project-bid-review__active-session {
    color: #486581;
    font-size: 0.8rem;
    font-weight: 700;
    margin-top: 0.2rem;
}

.project-bid-review__recent-header-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 0.45rem;
    justify-content: flex-end;
}

.project-bid-review__recent--collapsed {
    padding-top: 0.1rem;
}

.project-bid-review__recent-collapsed-copy {
    color: #52606d;
    font-size: 0.8rem;
    line-height: 1.4;
    margin-top: 0.15rem;
}

.project-bid-review__dashboard-header {
    display: flex;
    justify-content: space-between;
    align-items: start;
    gap: 0.8rem;
}

.project-bid-review__dashboard-actions {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end;
    gap: 0.45rem;
}

.project-bid-review__suggestion-list {
    display: grid;
    gap: 0.55rem;
}

.project-bid-review__suggestion-item {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.75rem;
    flex-wrap: wrap;
}

.project-bid-review__evidence-shortlist {
    display: grid;
    gap: 0.8rem;
}

.project-bid-review__evidence-shortlist-block {
    border: 1px solid #d9e2ec;
    border-radius: 13px;
    background: #ffffff;
    padding: 0.8rem 0.9rem;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.7);
}

.project-bid-review__evidence-shortlist-block--current {
    background: #f8fafc;
}

.project-bid-review__evidence-shortlist-block--bundle {
    background: #fffaf2;
    border-color: #f4d8b5;
}

.project-bid-review__evidence-shortlist-block--candidates {
    background: #fcfdff;
}

.project-bid-review__evidence-shortlist-header {
    display: flex;
    align-items: start;
    justify-content: space-between;
    gap: 0.8rem;
    flex-wrap: wrap;
}

.project-bid-review__evidence-shortlist-header-copy {
    min-width: 0;
    flex: 1 1 16rem;
}

.project-bid-review__evidence-shortlist-label {
    color: #486581;
    font-size: 0.72rem;
    font-weight: 800;
    letter-spacing: 0.02em;
    text-transform: uppercase;
    margin-bottom: 0.28rem;
}

.project-bid-review__evidence-shortlist-label--subtle {
    margin-top: 0.7rem;
}

.project-bid-review__evidence-shortlist-current,
.project-bid-review__evidence-shortlist-title {
    color: #102a43;
    font-size: 0.9rem;
    font-weight: 700;
    line-height: 1.4;
}

.project-bid-review__evidence-shortlist-summary,
.project-bid-review__evidence-shortlist-status {
    color: #52606d;
    font-size: 0.82rem;
    line-height: 1.45;
    margin-top: 0.3rem;
}

.project-bid-review__evidence-shortlist-items {
    display: grid;
    gap: 0.65rem;
    margin-top: 0.2rem;
}

.project-bid-review__evidence-shortlist-item {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.8rem;
    flex-wrap: wrap;
    border: 1px solid #e6edf5;
    border-radius: 11px;
    background: #f8fbff;
    padding: 0.7rem 0.8rem;
}

.project-bid-review__evidence-shortlist-item--bundle {
    background: #fffdf8;
}

.project-bid-review__evidence-shortlist-item--recommended {
    border-color: #bfdbfe;
    background: linear-gradient(180deg, #f8fbff 0%, #eef6ff 100%);
}

.project-bid-review__evidence-shortlist-item--applied {
    border-color: #bbf7d0;
    background: linear-gradient(180deg, #f7fef8 0%, #ecfdf3 100%);
}

.project-bid-review__evidence-shortlist-item-body {
    min-width: 0;
    flex: 1 1 14rem;
}

.project-bid-review__evidence-shortlist-item-heading {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 0.55rem;
}

.project-bid-review__evidence-shortlist-item-title {
    color: #102a43;
    font-size: 0.85rem;
    font-weight: 700;
    line-height: 1.35;
}

.project-bid-review__evidence-shortlist-recommendation {
    flex: 0 0 auto;
}

.project-bid-review__evidence-shortlist-actions {
    display: flex;
    justify-content: flex-end;
    align-items: center;
    flex: 0 0 auto;
}

.project-bid-review__rule-picker {
    display: grid;
    gap: 0.58rem;
}

.project-bid-review__rule-picker-results {
    display: grid;
    gap: 0.45rem;
    max-height: min(21rem, 44vh);
    overflow-y: auto;
    padding: 0.1rem 0.25rem 0.1rem 0;
    scrollbar-gutter: stable;
}

.project-bid-review__rule-picker-item {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.7rem;
    border: 1px solid #e1e8f0;
    border-radius: 10px;
    background: #ffffff;
    padding: 0.52rem 0.62rem;
}

.project-bid-review__rule-picker-body {
    min-width: 0;
    flex: 1 1 auto;
}

.project-bid-review__rule-picker-title-row {
    display: flex;
    align-items: center;
    gap: 0.45rem;
    min-width: 0;
}

.project-bid-review__rule-picker-title {
    color: #102a43;
    font-size: 0.85rem;
    font-weight: 750;
    line-height: 1.25;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.project-bid-review__rule-picker-summary {
    color: #52606d;
    display: -webkit-box;
    font-size: 0.78rem;
    line-height: 1.35;
    margin-top: 0.18rem;
    overflow: hidden;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
}

.project-bid-review__rule-picker-actions {
    display: flex;
    align-items: center;
    flex: 0 0 auto;
}

.project-bid-review__clarification-trigger-debug {
    display: grid;
    gap: 0.35rem;
    border: 1px dashed #cbd5e1;
    border-radius: 11px;
    background: #f8fbff;
    padding: 0.62rem 0.7rem;
}

.project-bid-review__clarification-trigger-debug-title {
    color: #243b53;
    font-size: 0.7rem;
    font-weight: 800;
    letter-spacing: 0.02em;
    text-transform: uppercase;
}

.project-bid-review__clarification-trigger-debug-row {
    display: flex;
    align-items: baseline;
    gap: 0.45rem;
    min-width: 0;
}

.project-bid-review__clarification-trigger-debug-label {
    color: #627d98;
    flex: 0 0 auto;
    font-size: 0.68rem;
    font-weight: 800;
    text-transform: uppercase;
}

.project-bid-review__clarification-trigger-debug-value,
.project-bid-review__clarification-trigger-debug-copy,
.project-bid-review__clarification-trigger-debug-source,
.project-bid-review__clarification-trigger-debug-meta {
    color: #334e68;
    font-size: 0.76rem;
    line-height: 1.38;
    min-width: 0;
}

.project-bid-review__clarification-trigger-debug-value {
    overflow-wrap: anywhere;
}

.project-bid-review__clarification-trigger-debug-code {
    color: #102a43;
    font-family: "SFMono-Regular", Consolas, "Liberation Mono", monospace;
    font-size: 0.72rem;
}

.project-bid-review__clarification-trigger-debug-source span {
    color: #102a43;
}

.project-bid-review__clarification-trigger-debug-meta {
    color: #627d98;
}

.project-bid-review__task-applied-state {
    display: grid;
    gap: 0.45rem;
    margin-top: 0.55rem;
    padding: 0.72rem 0.82rem;
    border: 1px solid #bbf7d0;
    border-radius: 12px;
    background: linear-gradient(180deg, #f7fef8 0%, #effcf4 100%);
}

.project-bid-review__task-applied-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.55rem;
    flex-wrap: wrap;
}

.project-bid-review__task-applied-label,
.project-bid-review__task-applied-original-label {
    color: #486581;
    font-size: 0.72rem;
    font-weight: 800;
    letter-spacing: 0.02em;
    text-transform: uppercase;
}

.project-bid-review__task-applied-value,
.project-bid-review__task-applied-original-value {
    color: #102a43;
    font-size: 0.85rem;
    font-weight: 700;
    line-height: 1.4;
}

.project-bid-review__task-applied-summary {
    color: #166534;
    font-size: 0.8rem;
    line-height: 1.4;
}

.project-bid-review__task-applied-original {
    display: grid;
    gap: 0.18rem;
    padding-top: 0.48rem;
    border-top: 1px dashed rgba(72, 101, 129, 0.22);
}

.project-bid-review__dashboard-copy {
    margin-bottom: 0.8rem;
}

.project-bid-review__dashboard-title {
    color: #102a43;
    font-size: 1rem;
    font-weight: 800;
}

.project-bid-review__dashboard-subtitle,
.project-bid-review__filters-copy,
.project-bid-review__toolbar-meta {
    color: #52606d;
    font-size: 0.88rem;
    line-height: 1.4;
}

.project-bid-review__dashboard-subtitle--compact {
    font-size: 0.8rem;
    font-weight: 700;
}

.project-bid-review__toolbar-header {
    display: flex;
    justify-content: space-between;
    gap: 1rem;
    align-items: end;
    margin-bottom: 0.75rem;
}

.project-bid-review__toolbar-header-main {
    min-width: 0;
    flex: 1 1 auto;
}

.project-bid-review__toolbar-header-actions {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-end;
    justify-content: flex-end;
    gap: 0.55rem;
}

.project-bid-review__toolbar {
    display: grid;
    gap: 0.8rem;
}

.project-bid-review__view-toggle {
    display: inline-flex;
    flex-wrap: nowrap;
    gap: 0.35rem;
    width: fit-content;
    max-width: 100%;
    padding: 0.25rem;
    border: 1px solid #d9e2ec;
    border-radius: 999px;
    background: #f8fbfd;
}

.project-bid-review__view-pill {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 auto;
    border: 0;
    border-radius: 999px;
    background: transparent;
    color: #52606d;
    font-size: 0.78rem;
    font-weight: 700;
    line-height: 1;
    padding: 0.48rem 0.82rem;
    white-space: nowrap;
    transition: background-color 0.18s ease, color 0.18s ease, box-shadow 0.18s ease;
}

.project-bid-review__view-pill.is-active {
    background: #102a43;
    color: #f8fbfd;
    box-shadow: 0 8px 18px rgba(16, 42, 67, 0.16);
}

.project-bid-review__toolbar-total {
    display: grid;
    justify-items: end;
    padding: 0.45rem 0.8rem;
    border: 1px solid #d9e2ec;
    border-radius: 16px;
    background: linear-gradient(180deg, #ffffff 0%, #f8fbfd 100%);
}

.project-bid-review__toolbar-total-label {
    color: #52606d;
    font-size: 0.69rem;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 0.05em;
}

.project-bid-review__toolbar-total-value {
    color: #102a43;
    font-size: 1rem;
    font-weight: 800;
    line-height: 1.1;
    margin-top: 0.14rem;
    white-space: nowrap;
}

.project-bid-review__queue-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 0.4rem;
    align-items: center;
}

.project-bid-review__queue-action {
    border-radius: 999px;
    font-size: 0.82rem;
    padding: 0.36rem 0.72rem;
}

.project-bid-review__toolbar-controls {
    display: grid;
    grid-template-columns: minmax(260px, 1fr) minmax(180px, 220px);
    gap: 0.7rem;
    align-items: end;
}

.project-bid-review__control-label {
    display: block;
    margin-bottom: 0.3rem;
    color: #334e68;
    font-size: 0.76rem;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 0.04em;
}

.project-bid-review__search-input,
.project-bid-review__sort-select {
    min-height: 2.35rem;
    font-size: 0.9rem;
}

.project-bid-review__summary-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
    gap: 0.7rem;
}

.project-bid-review__interior-totals {
    margin-bottom: 0.75rem;
    padding: 0.82rem 0.95rem;
    border: 1px solid #d9e2ec;
    border-radius: 16px;
    background: linear-gradient(180deg, #ffffff 0%, #f8fbfd 100%);
}

.project-bid-review__interior-totals-header {
    margin-bottom: 0.65rem;
}

.project-bid-review__interior-totals-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(120px, 1fr));
    gap: 0.55rem;
}

.project-bid-review__interior-total-item {
    padding: 0.72rem 0.8rem;
    border: 1px solid #e2e8f0;
    border-radius: 14px;
    background: #fff;
}

.project-bid-review__interior-total-label {
    color: #52606d;
    font-size: 0.72rem;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 0.05em;
}

.project-bid-review__interior-total-value {
    color: #102a43;
    font-size: 1rem;
    font-weight: 800;
    line-height: 1.1;
    margin-top: 0.18rem;
}

.project-bid-review__grand-total {
    display: flex;
    justify-content: space-between;
    align-items: end;
    gap: 0.8rem;
    padding: 0.8rem 0.95rem;
    margin-bottom: 0.75rem;
    border: 1px solid #d9e2ec;
    border-radius: 16px;
    background: linear-gradient(180deg, #f8fbfd 0%, #f1f5f9 100%);
}

.project-bid-review__grand-total-label {
    color: #52606d;
    font-size: 0.73rem;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 0.05em;
}

.project-bid-review__grand-total-value {
    color: #102a43;
    font-size: 1.3rem;
    font-weight: 800;
    line-height: 1.05;
    margin-top: 0.2rem;
}

.project-bid-review__grand-total-controls {
    display: flex;
    gap: 0.45rem;
    align-items: center;
}

.project-bid-review__summary-item {
    padding: 0.8rem 0.95rem;
    border-radius: 16px;
    background: linear-gradient(180deg, #ffffff 0%, #f8fbfd 100%);
    border: 1px solid #e2e8f0;
}

.project-bid-review__summary-item.is-warning-soft {
    background: linear-gradient(180deg, #fffaf0 0%, #fff4df 100%);
    border-color: #f6d79c;
}

.project-bid-review__summary-item.is-warning {
    background: linear-gradient(180deg, #fff7ed 0%, #fee7d7 100%);
    border-color: #f7b98d;
}

.project-bid-review__summary-item.is-success {
    background: linear-gradient(180deg, #f0fdf4 0%, #dcfce7 100%);
    border-color: #a7e3b8;
}

.project-bid-review__summary-item.is-muted {
    background: linear-gradient(180deg, #f8fafc 0%, #eef2f7 100%);
    border-color: #cbd5e1;
}

.project-bid-review__summary-label {
    color: #52606d;
    font-size: 0.73rem;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 0.05em;
}

.project-bid-review__summary-value {
    color: #102a43;
    font-size: 1.65rem;
    font-weight: 800;
    line-height: 1.05;
    margin-top: 0.28rem;
}

.project-bid-review__filters {
    display: flex;
    flex-wrap: wrap;
    gap: 0.45rem;
}

.project-bid-review__filter {
    border: 1px solid #cbd5e1;
    background: #fff;
    color: #334e68;
    border-radius: 999px;
    padding: 0.48rem 0.85rem;
    font-weight: 700;
    font-size: 0.84rem;
    transition: background-color 140ms ease, border-color 140ms ease, color 140ms ease, transform 140ms ease;
}

.project-bid-review__filter:hover {
    border-color: #9fb3c8;
    color: #102a43;
    transform: translateY(-1px);
}

.project-bid-review__filter--active {
    background: #102a43;
    border-color: #102a43;
    color: #fff;
}

.project-bid-review__line-list {
    display: grid;
    gap: 0.8rem;
}

.project-bid-review__trade-list {
    display: grid;
    gap: 0.8rem;
}

.project-bid-review__trade-group {
    border: 1px solid #d9e2ec;
    border-radius: 16px;
    background: linear-gradient(180deg, rgba(248, 251, 253, 0.95) 0%, #ffffff 100%);
    overflow: hidden;
}

.project-bid-review__trade-toggle {
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.9rem;
    padding: 0.78rem 0.9rem;
    border: 0;
    background: transparent;
    text-align: left;
}

.project-bid-review__trade-heading {
    min-width: 0;
    display: grid;
    gap: 0.18rem;
}

.project-bid-review__trade-name {
    color: #102a43;
    font-size: 0.82rem;
    font-weight: 780;
    line-height: 1.2;
}

.project-bid-review__trade-summary,
.project-bid-review__trade-meta,
.project-bid-review__trade-line-meta {
    color: #52606d;
    font-size: 0.73rem;
    line-height: 1.35;
}

.project-bid-review__trade-meta,
.project-bid-review__trade-line-meta {
    display: inline-flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: flex-end;
    gap: 0.45rem;
}

.project-bid-review__trade-total {
    color: #102a43;
    font-size: 0.82rem;
    font-weight: 800;
    white-space: nowrap;
}

.project-bid-review__trade-chevron {
    color: #486581;
    font-size: 0.7rem;
}

.project-bid-review__trade-body {
    padding: 0 0.9rem 0.9rem;
}

.project-bid-review__trade-narrative-list {
    display: grid;
    gap: 0.55rem;
}

.project-bid-review__trade-narrative-card {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 0.75rem;
    padding: 0.72rem;
    border: 1px solid #dbe7f3;
    border-radius: 14px;
    background: #fff;
}

.project-bid-review__trade-narrative-card.is-compare-active {
    border-color: #3b82f6;
    background: linear-gradient(180deg, #f8fbff 0%, #eef6ff 100%);
    box-shadow: 0 0 0 1px rgba(59, 130, 246, 0.12), 0 10px 24px rgba(15, 23, 42, 0.08);
}

.project-bid-review__trade-narrative-card.is-compare-missing {
    border-color: #f59e0b;
    background: #fffbeb;
}

.project-bid-review__trade-narrative-main {
    min-width: 0;
    display: grid;
    gap: 0.42rem;
    flex: 1;
}

.project-bid-review__trade-narrative-heading {
    width: 100%;
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 0.65rem;
    padding: 0;
    border: 0;
    background: transparent;
    text-align: left;
}

.project-bid-review__trade-narrative-toggle {
    cursor: pointer;
}

.project-bid-review__trade-narrative-toggle:hover .project-bid-review__trade-narrative-title,
.project-bid-review__trade-narrative-toggle:focus-visible .project-bid-review__trade-narrative-title {
    color: #1d4f91;
}

.project-bid-review__trade-narrative-kicker {
    color: #4b6b88;
    font-size: 0.68rem;
    font-weight: 800;
    letter-spacing: 0.06em;
    text-transform: uppercase;
}

.project-bid-review__trade-narrative-title {
    color: #102a43;
    font-size: 0.82rem;
    font-weight: 760;
    line-height: 1.3;
}

.project-bid-review__trade-narrative-stats {
    display: inline-flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: flex-end;
    gap: 0.32rem;
}

.project-bid-review__trade-narrative-chevron {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 1.45rem;
    height: 1.45rem;
    border-radius: 999px;
    color: #61758a;
    border: 1px solid #dbe7f3;
    transition: transform 160ms ease, color 160ms ease, background-color 160ms ease;
}

.project-bid-review__trade-narrative-chevron.is-open {
    color: #1d4f91;
    background: #eef7ff;
    transform: rotate(180deg);
}

.project-bid-review__trade-narrative-total {
    display: inline-flex;
    align-items: center;
    padding: 0.18rem 0.52rem;
    border-radius: 999px;
    background: #eef7ff;
    color: #102a43;
    font-size: 0.72rem;
    font-weight: 800;
}

.project-bid-review__trade-narrative-contexts {
    display: grid;
    gap: 0.35rem;
}

.project-bid-review__trade-narrative-context {
    padding: 0.45rem 0.55rem;
    border-radius: 10px;
    background: #f8fbfd;
}

.project-bid-review__trade-narrative-task {
    display: grid;
    gap: 0.55rem;
}

.project-bid-review__trade-narrative-task-row {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 0.65rem;
}

.project-bid-review__trade-narrative-task-main {
    min-width: 0;
    display: grid;
    gap: 0.18rem;
}

.project-bid-review__trade-narrative-task-actions {
    flex: 0 0 auto;
    display: inline-flex;
    flex-wrap: wrap;
    justify-content: flex-end;
    gap: 0.35rem;
}

.project-bid-review__trade-narrative-context-label {
    color: #1d4f91;
    font-size: 0.74rem;
    font-weight: 760;
}

.project-bid-review__trade-narrative-context-detail,
.project-bid-review__trade-narrative-context-trigger {
    color: #52606d;
    font-size: 0.72rem;
    line-height: 1.35;
}

.project-bid-review__trade-narrative-actions {
    flex: 0 0 auto;
}

.project-bid-review__trade-line-context {
    display: grid;
    gap: 0.18rem;
    margin-bottom: 0.42rem;
    padding-bottom: 0.38rem;
    border-bottom: 1px solid rgba(217, 226, 236, 0.9);
}

.project-bid-review__trade-line-text {
    color: #243b53;
    font-size: 0.75rem;
    font-weight: 620;
    line-height: 1.25;
}

.project-bid-review__line-card {
    background: #fff;
    border: 1px solid #d9e2ec;
    border-radius: 20px;
    box-shadow: 0 12px 28px rgba(15, 23, 42, 0.055);
    overflow: hidden;
}

.project-bid-review__line-card.is-attention {
    border-color: #f2bb90;
    box-shadow: 0 12px 28px rgba(217, 119, 6, 0.1);
}

.project-bid-review__line-card.is-reviewed {
    border-color: #b6e3c4;
}

.project-bid-review__line-card.is-compare-active {
    border-color: #93c5fd;
    box-shadow: 0 0 0 1px rgba(59, 130, 246, 0.12), 0 12px 28px rgba(15, 23, 42, 0.08);
}

.project-bid-review__line-card.is-excluded {
    opacity: 0.94;
}

.project-bid-review__line-header {
    display: flex;
    justify-content: space-between;
    gap: 0.9rem;
    padding: 1rem 1.05rem 0.8rem;
}

.project-bid-review__line-main {
    min-width: 0;
    flex: 1 1 auto;
}

.project-bid-review__line-meta,
.project-bid-review__badge-row,
.project-bid-review__task-title-row {
    display: flex;
    flex-wrap: wrap;
    gap: 0.35rem 0.45rem;
    align-items: center;
}

.project-bid-review__line-number,
.project-bid-review__line-file,
.project-bid-review__line-amount {
    color: #52606d;
    font-size: 0.76rem;
    font-weight: 800;
}

.project-bid-review__line-meta {
    margin-top: 0.28rem;
    gap: 0.25rem 0.55rem;
}

.project-bid-review__badge-row {
    margin-top: 0.55rem;
}

.project-bid-review__template-assignments {
    display: grid;
    gap: 0.4rem;
    margin-top: 0.55rem;
}

.project-bid-review__template-assignment {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.65rem;
    padding: 0.58rem 0.72rem;
    border: 1px solid #dbeafe;
    border-radius: 14px;
    background: linear-gradient(180deg, #f8fbff 0%, #eef5ff 100%);
}

.project-bid-review__template-assignment-copy {
    display: grid;
    gap: 0.1rem;
    min-width: 0;
}

.project-bid-review__template-assignment-label {
    color: #486581;
    font-size: 0.68rem;
    font-weight: 800;
    letter-spacing: 0.02em;
    text-transform: uppercase;
}

.project-bid-review__template-assignment-name {
    color: #102a43;
    font-size: 0.85rem;
    font-weight: 700;
    line-height: 1.35;
}

.project-bid-review__template-assignment-meta {
    color: #52606d;
    font-size: 0.76rem;
    line-height: 1.35;
}

.project-bid-review__line-toggle {
    width: 100%;
    padding: 0;
    border: 0;
    background: transparent;
    text-align: left;
}

.project-bid-review__line-toggle-row {
    display: flex;
    justify-content: space-between;
    align-items: start;
    gap: 0.65rem;
}

.project-bid-review__line-text {
    display: block;
    color: #102a43;
    font-size: 0.78rem;
    font-weight: 680;
    line-height: 1.2;
    flex: 1 1 auto;
}

.project-bid-review__line-chevron {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 1.7rem;
    height: 1.7rem;
    border-radius: 999px;
    background: #f1f5f9;
    color: #486581;
    flex: 0 0 auto;
    font-size: 0.84rem;
}

.project-bid-review__line-text-stack {
    display: grid;
    gap: 0.6rem;
}

.project-bid-review__line-text-block {
    display: grid;
    gap: 0.18rem;
}

.project-bid-review__line-text-label {
    color: #486581;
    font-size: 0.71rem;
    font-weight: 800;
    letter-spacing: 0.04em;
    text-transform: uppercase;
}

.project-bid-review__line-text-value,
.project-bid-review__line-text-reference {
    color: #102a43;
    font-size: 0.85rem;
    font-weight: 600;
    line-height: 1.45;
    white-space: pre-wrap;
    word-break: break-word;
}

.project-bid-review__line-text-value--muted,
.project-bid-review__line-text-reference {
    color: #334e68;
}

.project-bid-review__line-text-note,
.project-bid-review__line-text-audit {
    margin-top: 0.5rem;
    font-size: 0.76rem;
    line-height: 1.4;
}

.project-bid-review__line-text-note {
    color: #243b53;
    font-weight: 600;
}

.project-bid-review__line-text-audit {
    color: #61758a;
}

.project-bid-review__line-correction-editor {
    display: grid;
    gap: 0.7rem;
}

.project-bid-review__line-correction-textarea {
    min-height: 7rem;
}

.project-bid-review__metrics {
    display: flex;
    flex-wrap: wrap;
    gap: 0;
    margin-top: 0.5rem;
    border: 1px solid #e2e8f0;
    border-radius: 12px;
    overflow: hidden;
    background: #fbfdff;
}

.project-bid-review__metric {
    padding: 0.38rem 0.54rem;
    flex: 1 1 0;
    min-width: 88px;
    background: transparent;
}

.project-bid-review__metric + .project-bid-review__metric {
    border-left: 1px solid #e2e8f0;
}

.project-bid-review__metric-label {
    display: block;
    color: #61758a;
    font-size: 0.61rem;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 0.05em;
}

.project-bid-review__metric-value {
    display: block;
    margin-top: 0.06rem;
    color: #102a43;
    font-size: 0.82rem;
    font-weight: 800;
    line-height: 1.2;
}

.project-bid-review__actions {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end;
    align-content: flex-start;
    gap: 0.3rem;
    min-width: 176px;
}

.project-bid-review__line-actions {
    display: grid;
    gap: 0.45rem;
    min-width: 220px;
    justify-items: stretch;
    align-content: flex-start;
}

.project-bid-review__action-group {
    display: grid;
    gap: 0.3rem;
    padding: 0.44rem 0.5rem;
    border: 1px solid #e2e8f0;
    border-radius: 12px;
    background: #f8fafc;
}

.project-bid-review__action-group--adjust {
    background: #fbfdff;
}

.project-bid-review__action-group-label {
    color: #61758a;
    font-size: 0.62rem;
    font-weight: 800;
    letter-spacing: 0.05em;
    text-transform: uppercase;
}

.project-bid-review__action-group-buttons {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end;
    gap: 0.3rem;
}

.project-bid-review__actions--task {
    min-width: 176px;
    gap: 0.28rem;
}

.project-bid-review__reason-tooltip {
    position: relative;
    display: inline-flex;
    align-items: center;
}

.project-bid-review__reason-tooltip[tabindex]:focus-visible {
    border-radius: 999px;
    outline: 2px solid #93c5fd;
    outline-offset: 3px;
}

.project-bid-review__reason-tooltip[data-tooltip]::before,
.project-bid-review__reason-tooltip[data-tooltip]::after {
    position: absolute;
    top: 50%;
    z-index: 30;
    opacity: 0;
    pointer-events: none;
    transform: translate(-0.16rem, -50%);
    transition: opacity 120ms ease, transform 120ms ease;
}

.project-bid-review__reason-tooltip[data-tooltip]::before {
    right: calc(100% + 0.2rem);
    width: 0;
    height: 0;
    border-top: 0.32rem solid transparent;
    border-bottom: 0.32rem solid transparent;
    border-left: 0.32rem solid #102a43;
    content: "";
}

.project-bid-review__reason-tooltip[data-tooltip]::after {
    right: calc(100% + 0.52rem);
    width: max-content;
    max-width: min(18rem, calc(100vw - 2rem));
    padding: 0.48rem 0.58rem;
    border-radius: 9px;
    background: #102a43;
    box-shadow: 0 12px 30px rgba(15, 23, 42, 0.18);
    color: #fff;
    content: attr(data-tooltip);
    font-size: 0.72rem;
    font-weight: 700;
    line-height: 1.35;
    text-align: left;
    white-space: normal;
}

.project-bid-review__reason-tooltip[data-tooltip]:hover::before,
.project-bid-review__reason-tooltip[data-tooltip]:hover::after,
.project-bid-review__reason-tooltip[data-tooltip]:focus-visible::before,
.project-bid-review__reason-tooltip[data-tooltip]:focus-visible::after,
.project-bid-review__reason-tooltip[data-tooltip]:focus-within::before,
.project-bid-review__reason-tooltip[data-tooltip]:focus-within::after,
.project-bid-review__reason-tooltip[data-tooltip]:active::before,
.project-bid-review__reason-tooltip[data-tooltip]:active::after {
    opacity: 1;
    transform: translate(0, -50%);
}

.project-bid-review__sr-only {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
}

@media (max-width: 960px) {
    .project-bid-review__reason-tooltip[data-tooltip]::before,
    .project-bid-review__reason-tooltip[data-tooltip]::after {
        top: auto;
        right: auto;
        left: 0;
        transform: translateY(0.16rem);
    }

    .project-bid-review__reason-tooltip[data-tooltip]::before {
        top: calc(100% + 0.24rem);
        border-right: 0.32rem solid transparent;
        border-bottom: 0.32rem solid #102a43;
        border-left: 0.32rem solid transparent;
        border-top: 0;
    }

    .project-bid-review__reason-tooltip[data-tooltip]::after {
        top: calc(100% + 0.54rem);
        max-width: min(18rem, calc(100vw - 2rem));
    }

    .project-bid-review__reason-tooltip[data-tooltip]:hover::before,
    .project-bid-review__reason-tooltip[data-tooltip]:hover::after,
    .project-bid-review__reason-tooltip[data-tooltip]:focus-visible::before,
    .project-bid-review__reason-tooltip[data-tooltip]:focus-visible::after,
    .project-bid-review__reason-tooltip[data-tooltip]:focus-within::before,
    .project-bid-review__reason-tooltip[data-tooltip]:focus-within::after,
    .project-bid-review__reason-tooltip[data-tooltip]:active::before,
    .project-bid-review__reason-tooltip[data-tooltip]:active::after {
        transform: translateY(0);
    }
}

.project-bid-review__line-body {
    display: grid;
    gap: 0.7rem;
    padding: 0 1.05rem 1rem;
}

.project-bid-review__section {
    border: 1px solid #e2e8f0;
    border-radius: 15px;
    padding: 0.78rem 0.85rem;
    background: #f8fafc;
}

.project-bid-review__section--highlight {
    background: #fff8ef;
    border-color: #f4d0b1;
}

.project-bid-review__section--attention {
    background: #fffaf2;
    border-color: #f5cc9d;
}

.project-bid-review__attention-title,
.project-bid-review__section-title {
    color: #102a43;
    font-size: 0.82rem;
    font-weight: 800;
    margin-bottom: 0.45rem;
}

.project-bid-review__section-copy,
.project-bid-review__saved-copy {
    color: #243b53;
    font-size: 0.86rem;
    line-height: 1.4;
}

.project-bid-review__section-copy--muted {
    color: #61758a;
}

.project-bid-review__breadcrumb {
    display: flex;
    flex-wrap: wrap;
    gap: 0.22rem 0.3rem;
    align-items: center;
    margin-bottom: 0.2rem;
}

.project-bid-review__breadcrumb-segment {
    color: #334e68;
    font-size: 0.75rem;
    font-weight: 700;
    line-height: 1.25;
}

.project-bid-review__breadcrumb-separator {
    color: #829ab1;
    font-size: 0.72rem;
}

.project-bid-review__narrative-summary,
.project-bid-review__task-narrative {
    color: #102a43;
    font-size: 0.96rem;
    font-weight: 600;
    line-height: 1.5;
}

.project-bid-review__task-list {
    display: grid;
    gap: 0.4rem;
}

.project-bid-review__task-card {
    border: 1px solid #e2e8f0;
    border-radius: 12px;
    background: #fff;
    padding: 0.46rem 0.56rem;
    box-shadow: none;
}

.project-bid-review__task-card.is-compare-active {
    border-color: #93c5fd;
    box-shadow: 0 0 0 1px rgba(59, 130, 246, 0.12), 0 8px 20px rgba(15, 23, 42, 0.05);
}

.project-bid-review__task-card.is-compare-missing {
    border-color: #f59e0b;
    background: linear-gradient(180deg, #fffdf7 0%, #fff9eb 100%);
}

.project-bid-review__task-card.is-evidence-conflict {
    border-color: #fecaca;
    background: linear-gradient(180deg, #fffdfd 0%, #fff6f6 100%);
}

.project-bid-review__task-card.is-evidence-bundle {
    border-color: #f4d8b5;
    background: linear-gradient(180deg, #fffdf9 0%, #fff8ef 100%);
}

.project-bid-review__task-card.is-evidence-suggested,
.project-bid-review__task-card.is-evidence-missing {
    border-color: #fde68a;
    background: linear-gradient(180deg, #fffef9 0%, #fffaf0 100%);
}

.project-bid-review__task-card.is-evidence-agreement {
    border-color: #dbe4ee;
}

.project-bid-review__task-card.is-resolved-soft {
    border-color: #d9e2ec;
    background: linear-gradient(180deg, #ffffff 0%, #f8fafc 100%);
}

.project-bid-review__task-card.is-resolved-soft .project-bid-review__task-description,
.project-bid-review__task-card.is-resolved-soft .project-bid-review__task-applied-value,
.project-bid-review__task-card.is-resolved-soft .project-bid-review__task-applied-original-value {
    color: #243b53;
}

.project-bid-review__task-card.is-resolved-soft .project-bid-review__task-match-meta,
.project-bid-review__task-card.is-resolved-soft .project-bid-review__task-triggered,
.project-bid-review__task-card.is-resolved-soft .project-bid-review__task-pricing,
.project-bid-review__task-card.is-resolved-soft .project-bid-review__saved-copy {
    color: #7b8794;
}

.project-bid-review__task-card.is-resolved-soft .project-bid-review__task-applied-state {
    border-color: #d7f0df;
    background: linear-gradient(180deg, #fbfefc 0%, #f4fbf6 100%);
}

.project-bid-review__task-card.is-excluded {
    background: #f8fafc;
}

.project-bid-review__task-row {
    display: flex;
    justify-content: space-between;
    gap: 0.55rem;
}

.project-bid-review__task-main {
    min-width: 0;
    flex: 1 1 auto;
}

.project-bid-review__task-compare-empty {
    margin-top: 0.3rem;
    color: #9a6700;
    font-size: 0.73rem;
    font-weight: 600;
    line-height: 1.35;
}

.project-bid-review__task-compare-summary {
    margin-top: 0.3rem;
    color: #1d4f91;
    font-size: 0.73rem;
    font-weight: 700;
    line-height: 1.35;
}

.project-bid-review__task-title {
    color: #102a43;
    font-size: 0.68rem;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 0.04em;
}

.project-bid-review__task-description {
    color: #102a43;
    font-size: 0.8rem;
    font-weight: 700;
    margin: 0.1rem 0 0.14rem;
    line-height: 1.32;
}

.project-bid-review__task-row .project-bid-review__breadcrumb {
    margin-bottom: 0;
}

.project-bid-review__task-match-meta {
    margin-top: 0.12rem;
    color: #61758a;
    font-size: 0.72rem;
    font-weight: 500;
    line-height: 1.35;
}

.project-bid-review__task-triggered {
    margin-top: 0.12rem;
    color: #52606d;
    font-size: 0.73rem;
    line-height: 1.35;
}

.project-bid-review__task-triggered-label {
    color: #334e68;
    font-weight: 700;
    margin-right: 0.28rem;
}

.project-bid-review__task-evidence-summary {
    margin-top: 0.12rem;
    color: #334e68;
    font-size: 0.74rem;
    font-weight: 600;
    line-height: 1.4;
}

.project-bid-review__task-pricing {
    display: flex;
    flex-wrap: wrap;
    gap: 0.18rem 0.44rem;
    margin-top: 0.12rem;
    color: #61758a;
    font-size: 0.66rem;
    font-weight: 600;
    line-height: 1.2;
}

.project-bid-review__task-pricing--trade {
    margin-top: 0.08rem;
}

.project-bid-review__task-detail-toggle-row {
    margin-top: 0.2rem;
}

.project-bid-review__task-detail-toggle {
    display: inline-flex;
    align-items: center;
    gap: 0.32rem;
    padding: 0;
    border: 0;
    background: transparent;
    color: #52606d;
    font-size: 0.71rem;
    font-weight: 700;
    line-height: 1.2;
    cursor: pointer;
}

.project-bid-review__task-detail-toggle:hover,
.project-bid-review__task-detail-toggle:focus-visible {
    color: #1d4f91;
}

.project-bid-review__task-detail-chevron {
    font-size: 0.62rem;
    transition: transform 160ms ease;
}

.project-bid-review__task-detail-chevron.is-open {
    transform: rotate(180deg);
}

.project-bid-review__task-details {
    display: grid;
    gap: 0.12rem;
    margin-top: 0.18rem;
}

.project-bid-review__match-debug {
    margin-top: 0.45rem;
    border: 1px solid #d9e2ec;
    border-radius: 10px;
    background: #f8fbff;
}

.project-bid-review__match-debug-summary {
    cursor: pointer;
    padding: 0.5rem 0.65rem;
    color: #102a43;
    font-size: 0.74rem;
    font-weight: 800;
    letter-spacing: 0.02em;
    list-style: none;
}

.project-bid-review__match-debug-summary::-webkit-details-marker {
    display: none;
}

.project-bid-review__match-debug-body,
.project-bid-review__match-debug-empty {
    display: grid;
    gap: 0.6rem;
    padding: 0 0.65rem 0.65rem;
}

.project-bid-review__match-debug-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 0.4rem;
    padding: 0 0.65rem 0.35rem;
}

.project-bid-review__match-debug-section {
    display: grid;
    gap: 0.32rem;
}

.project-bid-review__match-debug-title {
    color: #243b53;
    font-size: 0.7rem;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 0.05em;
}

.project-bid-review__match-debug-label {
    color: #486581;
    font-size: 0.66rem;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 0.05em;
}

.project-bid-review__match-debug-value {
    color: #334e68;
    font-size: 0.74rem;
    line-height: 1.4;
}

.project-bid-review__match-debug-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.45rem 0.6rem;
}

.project-bid-review__match-debug-chip-row {
    display: flex;
    flex-wrap: wrap;
    gap: 0.3rem;
}

.project-bid-review__match-debug-chip {
    display: inline-flex;
    align-items: center;
    border-radius: 999px;
    padding: 0.18rem 0.48rem;
    background: #e6eef8;
    color: #1f3a56;
    font-size: 0.68rem;
    font-weight: 700;
    line-height: 1.2;
}

.project-bid-review__match-debug-chip--muted {
    background: #f0f4f8;
    color: #627d98;
}

.project-bid-review__match-debug-chip--warning {
    background: #fff2d8;
    color: #8d5d00;
}

.project-bid-review__match-debug-list,
.project-bid-review__match-debug-stack {
    display: grid;
    gap: 0.28rem;
}

.project-bid-review__match-debug-row {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 0.6rem;
    color: #334e68;
    font-size: 0.72rem;
    line-height: 1.35;
}

.project-bid-review__match-debug-rank,
.project-bid-review__match-debug-score,
.project-bid-review__match-debug-token {
    font-weight: 800;
    color: #243b53;
    white-space: nowrap;
}

.project-bid-review__match-debug-candidate {
    flex: 1 1 auto;
    min-width: 0;
}

.project-bid-review__pricing-editor {
    display: grid;
    gap: 0.6rem;
}

.project-bid-review__pricing-editor--trade-task {
    padding-top: 0.15rem;
}

.project-bid-review__pricing-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 0.55rem;
}

.project-bid-review__pricing-grid--task {
    grid-template-columns: repeat(4, minmax(0, 1fr));
}

.project-bid-review__pricing-field {
    min-width: 0;
}

.project-bid-review__pricing-label {
    display: block;
    margin-bottom: 0.28rem;
    color: #334e68;
    font-size: 0.72rem;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 0.04em;
}

.project-bid-review__pricing-input {
    min-height: 2.15rem;
    font-size: 0.84rem;
}

.project-bid-review__action {
    border-radius: 999px;
    font-weight: 800;
    font-size: 0.72rem;
    padding: 0.22rem 0.52rem;
    line-height: 1.15;
}

.project-bid-review__action--primary {
    background: #2049a7;
    border-color: #2049a7;
    color: #fff;
}

.project-bid-review__action--primary:hover {
    background: #1a3d8d;
    border-color: #1a3d8d;
    color: #fff;
}

.project-bid-review__action--secondary {
    background: #f5f8fc;
    border-color: #d5dfeb;
    color: #28405f;
}

.project-bid-review__action--evidence-focus {
    border-color: #bfdbfe;
    background: linear-gradient(180deg, #f8fbff 0%, #eef6ff 100%);
    color: #1d4f91;
}

.project-bid-review__action--evidence-focus:hover {
    border-color: #93c5fd;
    background: linear-gradient(180deg, #eef6ff 0%, #e0f0ff 100%);
    color: #163d73;
}

.project-bid-review__action--evidence-conflict {
    border-color: #f4b4b4;
    background: linear-gradient(180deg, #fff5f5 0%, #fee2e2 100%);
    color: #9b1c1c;
}

.project-bid-review__action--evidence-conflict:hover {
    border-color: #ea9999;
    background: linear-gradient(180deg, #feecec 0%, #fecaca 100%);
    color: #7f1d1d;
}

.project-bid-review__action--evidence-bundle {
    border-color: #f4d8b5;
    background: linear-gradient(180deg, #fffaf2 0%, #ffefcf 100%);
    color: #8a4b08;
}

.project-bid-review__action--evidence-bundle:hover {
    border-color: #efc98c;
    background: linear-gradient(180deg, #fff5e6 0%, #fee3b4 100%);
    color: #7c3f00;
}

.project-bid-review__action--evidence-missing {
    border-color: #e5d1ff;
    background: linear-gradient(180deg, #fbf8ff 0%, #f3ecff 100%);
    color: #6941c6;
}

.project-bid-review__action--evidence-missing:hover {
    border-color: #d7b5ff;
    background: linear-gradient(180deg, #f7f2ff 0%, #ecddff 100%);
    color: #5b34b2;
}

.project-bid-review__action--tertiary {
    background: transparent;
    border-color: #d5dfeb;
    color: #486581;
}

.project-bid-review__actions--task.is-quiet {
    opacity: 0.88;
}

.project-bid-review__actions--task.is-quiet .project-bid-review__action--primary {
    background: #f5f8fc;
    border-color: #d5dfeb;
    color: #28405f;
}

.project-bid-review__actions--task.is-quiet .project-bid-review__action--primary:hover {
    background: #edf2f7;
    border-color: #c8d4e3;
    color: #243b53;
}

.project-bid-review__editor {
    margin-top: 0.7rem;
}

.project-bid-review__excluded summary {
    cursor: pointer;
}

.project-bid-review__status {
    display: inline-flex;
    align-items: center;
    gap: 0.25rem;
    border-radius: 999px;
    padding: 0.22rem 0.52rem;
    font-size: 0.71rem;
    font-weight: 800;
    letter-spacing: 0.01em;
}

.project-bid-review__status--info {
    background: #e0f2fe;
    color: #075985;
}

.project-bid-review__status--success {
    background: #dcfce7;
    color: #166534;
}

.project-bid-review__status--warning-soft {
    background: #fef3c7;
    color: #92400e;
}

.project-bid-review__status--warning {
    background: #fed7aa;
    color: #9a3412;
}

.project-bid-review__status--danger {
    background: #fee2e2;
    color: #991b1b;
}

.project-bid-review__status--muted {
    background: #e5e7eb;
    color: #374151;
}

@media (max-width: 960px) {
    .project-bid-review__toolbar-header,
    .project-bid-review__line-header,
    .project-bid-review__task-row,
    .project-bid-review__grand-total {
        flex-direction: column;
    }

    .project-bid-review__toolbar-header-actions {
        width: 100%;
        align-items: flex-start;
        justify-content: flex-start;
    }

    .project-bid-review__toolbar-total {
        justify-items: start;
    }

    .project-bid-review__dashboard-header {
        flex-direction: column;
        align-items: stretch;
    }

    .project-bid-review__dashboard-actions {
        justify-content: flex-start;
    }

    .project-bid-review__toolbar-controls {
        grid-template-columns: 1fr;
    }

    .project-bid-review__pricing-grid,
    .project-bid-review__pricing-grid--task {
        grid-template-columns: 1fr 1fr;
    }

    .project-bid-review__actions {
        justify-content: flex-start;
        min-width: 0;
    }

    .project-bid-review__line-actions {
        min-width: 0;
        width: 100%;
    }

    .project-bid-review__action-group-buttons {
        justify-content: flex-start;
    }

    .project-bid-review__queue-actions {
        justify-content: flex-start;
    }

    .project-bid-review__recent-header-actions {
        justify-content: flex-start;
    }
}

@media (max-width: 640px) {
    .project-bid-review__summary-grid {
        grid-template-columns: 1fr;
    }

    .project-bid-review__line-header,
    .project-bid-review__line-body {
        padding-left: 0.9rem;
        padding-right: 0.9rem;
    }

    .project-bid-review__task-card {
        padding: 0.62rem;
    }

    .project-bid-review__metrics {
        flex-direction: column;
    }

    .project-bid-review__grand-total-controls,
    .project-bid-review__pricing-grid,
    .project-bid-review__pricing-grid--task {
        grid-template-columns: 1fr;
    }

    .project-bid-review__grand-total-controls {
        width: 100%;
        display: grid;
    }

    .project-bid-review__metric + .project-bid-review__metric {
        border-left: 0;
        border-top: 1px solid #e2e8f0;
    }
}

.project-bid-review__narrative-browse-btn {
    white-space: nowrap;
}

.project-bid-review__narrative-modal-overlay {
    position: fixed;
    inset: 0;
    z-index: 1250;
    background: rgba(15, 23, 42, 0.72);
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 1.25rem;
}

.project-bid-review__narrative-modal {
    position: relative;
    width: min(96vw, 74rem);
    max-height: 90vh;
    display: flex;
    flex-direction: column;
    overflow: hidden;
    border: 1px solid #d8e1ea;
    border-radius: 22px;
    background: linear-gradient(180deg, #ffffff 0%, #fbfdff 100%);
    box-shadow: 0 28px 64px rgba(15, 23, 42, 0.24);
    padding: 1.05rem;
}

.project-bid-review__narrative-modal-close {
    position: absolute;
    top: 0.85rem;
    right: 0.85rem;
    width: 2rem;
    height: 2rem;
    border: 0;
    border-radius: 999px;
    background: rgba(15, 23, 42, 0.08);
    color: #102a43;
    font-size: 1.1rem;
    line-height: 1;
}

.project-bid-review__narrative-modal-header {
    padding-right: 2.7rem;
    margin-bottom: 0.9rem;
}

.project-bid-review__narrative-modal-title {
    color: #102a43;
    font-size: 1rem;
    font-weight: 800;
}

.project-bid-review__narrative-modal-copy {
    color: #52606d;
    font-size: 0.84rem;
    line-height: 1.45;
    margin-top: 0.18rem;
}

.project-bid-review__narrative-modal-copy-strong {
    color: #102a43;
    font-weight: 700;
}

.project-bid-review__narrative-loading {
    align-items: flex-start;
}

.project-bid-review__narrative-columns {
    display: grid;
    grid-template-columns: minmax(0, 0.85fr) minmax(0, 1fr) minmax(0, 1.25fr);
    gap: 0.75rem;
    height: min(62vh, 36rem);
    min-height: 0;
    align-items: stretch;
}

.project-bid-review__narrative-column {
    min-width: 0;
    min-height: 0;
    display: grid;
    grid-template-rows: auto minmax(0, 1fr);
    gap: 0.55rem;
    padding: 0.82rem 0.88rem;
    border: 1px solid #e2e8f0;
    border-radius: 16px;
    background: #f8fafc;
    overflow: hidden;
}

.project-bid-review__narrative-column-label {
    color: #102a43;
    font-size: 0.78rem;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 0.04em;
}

.project-bid-review__narrative-list {
    display: block;
    height: 100%;
    min-height: 0;
    overflow-y: auto;
    overscroll-behavior: contain;
    padding-right: 0.12rem;
}

.project-bid-review__narrative-list > * + * {
    margin-top: 0.45rem;
}

.project-bid-review__narrative-list--items {
    display: block;
}

.project-bid-review__narrative-group {
    display: grid;
    grid-template-rows: auto auto;
    border: 1px solid #d9e2ec;
    border-radius: 16px;
    background: linear-gradient(180deg, #ffffff 0%, #f8fbff 100%);
    overflow: hidden;
}

.project-bid-review__narrative-group-header {
    padding: 0.62rem 0.74rem 0.54rem;
    border-bottom: 1px solid #e5edf5;
    background: rgba(241, 245, 249, 0.9);
}

.project-bid-review__narrative-group-title {
    color: #102a43;
    font-size: 0.79rem;
    font-weight: 800;
    line-height: 1.25;
}

.project-bid-review__narrative-group-context {
    color: #61758a;
    font-size: 0.71rem;
    line-height: 1.3;
    margin-top: 0.14rem;
}

.project-bid-review__narrative-group-items {
    display: block;
    padding: 0.52rem;
}

.project-bid-review__narrative-list--items > * + * {
    margin-top: 0.5rem;
}

.project-bid-review__narrative-group-items > * + * {
    margin-top: 0.42rem;
}

.project-bid-review__reviewer-scope-message {
    margin-top: 0.75rem;
}

.project-bid-review__reviewer-scope-items {
    margin-top: 0.75rem;
    padding: 0.75rem;
    border: 1px solid #dbeafe;
    border-radius: 0.75rem;
    background: #f8fbff;
}

.project-bid-review__reviewer-scope-header,
.project-bid-review__reviewer-scope-item {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.75rem;
}

.project-bid-review__reviewer-scope-list {
    display: grid;
    gap: 0.5rem;
    margin-top: 0.65rem;
}

.project-bid-review__reviewer-scope-item {
    padding: 0.55rem 0.65rem;
    border: 1px solid #e0ecff;
    border-radius: 0.65rem;
    background: #fff;
}

.project-bid-review__reviewer-scope-title {
    color: #102a43;
    font-weight: 800;
}

.project-bid-review__reviewer-scope-meta {
    display: flex;
    flex-wrap: wrap;
    gap: 0.45rem;
    margin-top: 0.2rem;
    color: #52606d;
    font-size: 0.78rem;
}

.project-bid-review__reviewer-scope-total {
    color: #102a43;
    font-weight: 800;
    white-space: nowrap;
}

.project-bid-review__reviewer-scope-picker {
    display: grid;
    gap: 0.35rem;
    margin-top: 0.75rem;
}

.project-bid-review__reviewer-scope-select {
    max-width: 24rem;
}

.project-bid-review__narrative-option,
.project-bid-review__narrative-item {
    width: 100%;
    border: 1px solid #d9e2ec;
    border-radius: 14px;
    background: #fff;
    text-align: left;
    transition: border-color 140ms ease, background-color 140ms ease, box-shadow 140ms ease, transform 140ms ease;
}

.project-bid-review__narrative-option {
    padding: 0.62rem 0.68rem;
}

.project-bid-review__narrative-option:hover,
.project-bid-review__narrative-option:focus-visible,
.project-bid-review__narrative-item:hover,
.project-bid-review__narrative-item:focus-visible {
    border-color: #9fb3c8;
    box-shadow: 0 8px 18px rgba(15, 23, 42, 0.07);
    transform: translateY(-1px);
}

.project-bid-review__narrative-option.is-selected {
    border-color: #b6d2f2;
    background: #eef7ff;
    box-shadow: inset 0 0 0 1px rgba(29, 79, 145, 0.08);
}

.project-bid-review__narrative-option-title,
.project-bid-review__narrative-item-title {
    color: #102a43;
    font-size: 0.82rem;
    font-weight: 700;
    line-height: 1.3;
}

.project-bid-review__narrative-item {
    padding: 0.68rem 0.74rem;
    display: grid;
    gap: 0.18rem;
}

.project-bid-review__narrative-item-path,
.project-bid-review__narrative-item-meta,
.project-bid-review__narrative-empty {
    color: #61758a;
    font-size: 0.73rem;
    line-height: 1.35;
}

.project-bid-review__narrative-item-meta {
    display: flex;
    flex-wrap: wrap;
    gap: 0.18rem 0.55rem;
}

.project-bid-review__narrative-empty {
    padding: 0.8rem 0.82rem;
    border: 1px dashed #cbd5e1;
    border-radius: 14px;
    background: rgba(255, 255, 255, 0.75);
}

.project-bid-workspace__matched-card {
    border: 1px solid #d8e1ea;
    box-shadow: 0 14px 34px rgba(15, 23, 42, 0.06);
    background: linear-gradient(180deg, #ffffff 0%, #fbfdff 100%);
}

.project-bid-workspace__matched-summary {
    min-width: 7rem;
    padding: 0.85rem 0.95rem;
    border: 1px solid #d9e2ec;
    border-radius: 16px;
    background: linear-gradient(180deg, #eef7ff 0%, #ddeefe 100%);
    text-align: right;
}

.project-bid-workspace__matched-summary-label {
    color: #52606d;
    font-size: 0.72rem;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 0.05em;
}

.project-bid-workspace__matched-summary-value {
    margin-top: 0.18rem;
    color: #102a43;
    font-size: 1.2rem;
    font-weight: 800;
}

.project-bid-workspace__matched-filters {
    display: flex;
    flex-wrap: wrap;
    gap: 0.45rem;
    margin-bottom: 0.9rem;
}

.project-bid-workspace__matched-list {
    display: grid;
    gap: 0.8rem;
}

.project-bid-workspace__matched-group {
    border: 1px solid #d9e2ec;
    border-radius: 18px;
    background: #fff;
    box-shadow: 0 10px 24px rgba(15, 23, 42, 0.05);
    overflow: hidden;
}

.project-bid-workspace__matched-group.is-both {
    border-color: #b6e3c4;
    box-shadow: 0 12px 28px rgba(22, 101, 52, 0.08);
}

.project-bid-workspace__matched-group.is-left-only {
    border-color: #f5cc9d;
    box-shadow: 0 12px 28px rgba(154, 52, 18, 0.08);
}

.project-bid-workspace__matched-group.is-right-only {
    border-color: #bfdcf7;
    box-shadow: 0 12px 28px rgba(7, 89, 133, 0.07);
}

.project-bid-workspace__matched-group-header {
    padding: 1rem 1.05rem 0.92rem;
    display: flex;
    justify-content: space-between;
    gap: 1rem;
    align-items: start;
}

.project-bid-workspace__matched-group-primary {
    flex: 1 1 auto;
    min-width: 0;
    border: 0;
    background: linear-gradient(180deg, #ffffff 0%, #fbfdff 100%);
    padding: 0;
    text-align: left;
    cursor: pointer;
}

.project-bid-workspace__matched-group-primary:hover,
.project-bid-workspace__matched-group-primary:focus-visible {
    background: linear-gradient(180deg, #f8fbff 0%, #f2f7fd 100%);
}

.project-bid-workspace__matched-group-main {
    min-width: 0;
}

.project-bid-workspace__matched-group-actions {
    display: grid;
    gap: 0.45rem;
    justify-items: end;
}

.project-bid-workspace__matched-group-title {
    display: flex;
    flex-wrap: wrap;
    gap: 0.28rem 0.5rem;
    color: #102a43;
    font-size: 0.94rem;
    font-weight: 800;
    line-height: 1.3;
}

.project-bid-workspace__matched-group-id {
    color: #486581;
    font-size: 0.79rem;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 0.03em;
}

.project-bid-workspace__matched-group-path {
    margin-top: 0.24rem;
    color: #61758a;
    font-size: 0.76rem;
    line-height: 1.4;
}

.project-bid-workspace__matched-group-badges {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end;
    gap: 0.35rem;
    align-items: center;
}

.project-bid-workspace__matched-group-toggle {
    display: inline-flex;
    align-items: center;
    gap: 0.42rem;
    border: 1px solid #d7e2ee;
    border-radius: 999px;
    background: #f8fbfd;
    color: #486581;
    font-size: 0.75rem;
    font-weight: 800;
    padding: 0.28rem 0.62rem;
    cursor: pointer;
}

.project-bid-workspace__matched-group-toggle:hover,
.project-bid-workspace__matched-group-toggle:focus-visible {
    color: #102a43;
    background: #eef4f8;
}

.project-bid-workspace__matched-group-toggle-label {
    line-height: 1;
}

.project-bid-workspace__matched-group-chevron {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 1.8rem;
    height: 1.8rem;
    border-radius: 999px;
    border: 1px solid #d7e2ee;
    background: #f8fbfd;
    color: #61758a;
    transition: transform 160ms ease, color 160ms ease, background-color 160ms ease;
}

.project-bid-workspace__matched-group-chevron.is-open {
    transform: rotate(180deg);
    color: #1d4f91;
    background: #eef7ff;
    border-color: #c9dff6;
}

.project-bid-workspace__matched-group-body {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.9rem;
    padding: 0 1.05rem 1.05rem;
    border-top: 1px solid #e2e8f0;
    background: #fcfdff;
}

.project-bid-workspace__matched-side {
    min-width: 0;
    padding-top: 0.9rem;
}

.project-bid-workspace__matched-side-title {
    color: #102a43;
    font-size: 0.78rem;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    margin-bottom: 0.55rem;
}

.project-bid-workspace__matched-empty {
    padding: 0.8rem 0.82rem;
    border: 1px dashed #cbd5e1;
    border-radius: 14px;
    background: rgba(255, 255, 255, 0.78);
    color: #61758a;
    font-size: 0.74rem;
    line-height: 1.4;
}

.project-bid-workspace__matched-entry + .project-bid-workspace__matched-entry {
    margin-top: 0.6rem;
}

.project-bid-workspace__matched-entry {
    padding: 0.72rem 0.78rem;
    border: 1px solid #dde7f1;
    border-radius: 15px;
    background: #fff;
}

.project-bid-workspace__matched-entry-button,
.project-bid-workspace__matched-subentry-button {
    width: 100%;
    border: 0;
    background: transparent;
    padding: 0;
    text-align: left;
    cursor: pointer;
}

.project-bid-workspace__matched-entry-button:hover .project-bid-workspace__matched-entry-title,
.project-bid-workspace__matched-entry-button:focus-visible .project-bid-workspace__matched-entry-title,
.project-bid-workspace__matched-subentry-button:hover .project-bid-workspace__matched-subentry-title,
.project-bid-workspace__matched-subentry-button:focus-visible .project-bid-workspace__matched-subentry-title {
    color: #1d4f91;
}

.project-bid-workspace__matched-entry-header {
    display: flex;
    justify-content: space-between;
    gap: 0.75rem;
    align-items: baseline;
}

.project-bid-workspace__matched-entry-title {
    color: #102a43;
    font-size: 0.82rem;
    font-weight: 700;
    line-height: 1.3;
}

.project-bid-workspace__matched-entry-count {
    color: #61758a;
    font-size: 0.72rem;
    font-weight: 700;
    white-space: nowrap;
}

.project-bid-workspace__matched-entry-copy {
    margin-top: 0.18rem;
    color: #52606d;
    font-size: 0.74rem;
    line-height: 1.45;
}

.project-bid-workspace__matched-sublist {
    display: grid;
    gap: 0.38rem;
    margin-top: 0.45rem;
}

.project-bid-workspace__matched-subentry {
    padding: 0.55rem 0.62rem;
    border: 1px solid #e5edf5;
    border-radius: 12px;
    background: #f8fbfd;
}

.project-bid-workspace__matched-subentry-button {
    transition: border-color 140ms ease, background-color 140ms ease, box-shadow 140ms ease;
}

.project-bid-workspace__matched-subentry-button:hover,
.project-bid-workspace__matched-subentry-button:focus-visible {
    border-color: #bfdcf7;
    background: #f8fbff;
    box-shadow: 0 8px 18px rgba(15, 23, 42, 0.05);
}

.project-bid-workspace__matched-subentry-title {
    color: #102a43;
    font-size: 0.77rem;
    font-weight: 700;
    line-height: 1.35;
}

.project-bid-workspace__matched-subentry-meta {
    margin-top: 0.15rem;
    color: #61758a;
    font-size: 0.71rem;
    line-height: 1.4;
}

@media (max-width: 960px) {
    .project-bid-workspace__matched-group-body {
        grid-template-columns: 1fr;
    }

    .project-bid-workspace__matched-group-header {
        flex-direction: column;
    }

    .project-bid-workspace__matched-group-actions {
        width: 100%;
        justify-items: start;
    }

    .project-bid-review__narrative-columns {
        grid-template-columns: 1fr;
        height: auto;
        min-height: 0;
    }

    .project-bid-review__narrative-list {
        max-height: 14rem;
    }
}
