@import '_content/CostrixTakeOff/CostrixTakeOff.lxlolfinay.bundle.scp.css';

/* /Editors/CustomFields/CustomFieldsEditor.razor.rz.scp.css */
/* Label/editor rows for the tenant-defined custom fields. Kept to a simple stacked grid so the
   block sits inside whatever layout group the owner's detail view puts it in. */

.cq-custom-fields[b-39dx4o86pw] {
    display: flex;
    flex-direction: column;
    gap: 8px;
    width: 100%;
}

.cq-custom-field[b-39dx4o86pw] {
    display: grid;
    grid-template-columns: minmax(120px, 220px) 1fr;
    align-items: center;
    column-gap: 12px;
}

.cq-custom-field-label[b-39dx4o86pw] {
    font-weight: 500;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.cq-custom-field-required[b-39dx4o86pw] {
    color: #d32f2f;
    margin-left: 2px;
}

.cq-custom-field-editor[b-39dx4o86pw] {
    min-width: 0;
}

.cq-custom-fields-empty[b-39dx4o86pw] {
    opacity: 0.6;
    font-style: italic;
}

/* Narrow screens: stack the label above its editor rather than squeezing both. */
@media (max-width: 640px) {
    .cq-custom-field[b-39dx4o86pw] {
        grid-template-columns: 1fr;
        row-gap: 2px;
    }
}
/* /Editors/TradeComparison/TradeComparisonComponent.razor.rz.scp.css */
/* Trade Comparison Component Styles */

.tc-container[b-xfvdsnefys] {
    display: flex;
    flex-direction: column;
    height: 100%;
    font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
    font-size: 12px;
}

/* === Header === */
.tc-header[b-xfvdsnefys] {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 8px 12px;
    background: #f8f9fa;
    border-bottom: 2px solid #dee2e6;
}

.tc-title[b-xfvdsnefys] {
    font-weight: 700;
    font-size: 14px;
}

.tc-header-right[b-xfvdsnefys] {
    display: flex;
    gap: 24px;
    align-items: center;
}

.tc-summary-item[b-xfvdsnefys] {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
}

.tc-label[b-xfvdsnefys] {
    font-size: 10px;
    color: #6c757d;
    text-transform: uppercase;
    font-weight: 600;
}

.tc-value[b-xfvdsnefys] {
    font-size: 14px;
    font-weight: 700;
}

.tc-selected[b-xfvdsnefys] {
    color: #198754;
}

/* === Toolbar === */
.tc-toolbar[b-xfvdsnefys] {
    display: flex;
    gap: 8px;
    padding: 6px 12px;
    background: #fff;
    border-bottom: 1px solid #dee2e6;
}

.tc-toolbar-btn[b-xfvdsnefys] {
    margin-left: 8px;
}

/* === Table wrapper === */
.tc-table-wrapper[b-xfvdsnefys] {
    flex: 1 1 auto;
    overflow: auto;
    background: #fff;
    position: relative;
    max-height: calc(100vh - 400px);
    min-height: 200px;
}

/* === Table === */
.tc-table[b-xfvdsnefys] {
    border-collapse: collapse;
    white-space: nowrap;
    width: max-content;
    min-width: 100%;
}

.tc-table th[b-xfvdsnefys],
.tc-table td[b-xfvdsnefys] {
    border: 1px solid #dee2e6;
    padding: 3px 6px;
    vertical-align: middle;
    text-align: left;
}

/* === Sticky thead / tfoot === */
.tc-table thead[b-xfvdsnefys] {
    position: sticky;
    top: 0;
    z-index: 3;
}

.tc-table tfoot[b-xfvdsnefys] {
    position: sticky;
    bottom: 0;
    z-index: 3;
}

/* === Group header === */
.tc-group-header th[b-xfvdsnefys] {
    background: #343a40;
    color: #fff;
    text-align: center;
    font-weight: 700;
    font-size: 11px;
    padding: 4px 6px;
}

.tc-budget-header[b-xfvdsnefys] {
    background: #495057 !important;
}

.tc-vendor-header[b-xfvdsnefys] {
    position: relative;
}

.tc-vendor-header.tc-vendor-selected[b-xfvdsnefys] {
    background: #198754 !important;
}

.tc-vendor-header-content[b-xfvdsnefys] {
    display: flex;
    align-items: center;
    gap: 10px;
    justify-content: center;
    flex-wrap: wrap;
}

.tc-vendor-name[b-xfvdsnefys] {
    font-weight: 700;
}

.tc-row-select[b-xfvdsnefys] {
    cursor: pointer;
}

.tc-drag-selecting[b-xfvdsnefys] {
    user-select: none;
}

.tc-table .tc-data-row[data-drag-selected="false"] > .tc-row-select[b-xfvdsnefys] {
    background-color: #fff;
}

.tc-table .tc-data-row[data-drag-selected="true"] > .tc-row-select[b-xfvdsnefys] {
    background-color: #dcecff;
}

.tc-table .tc-data-row.tc-row-selected:not([data-drag-selected]) > .tc-row-select[b-xfvdsnefys] {
    background-color: #dcecff;
}

/* "Show changes": budget lines with an audit-trail change after the chosen time. */
.tc-table .tc-data-row.tc-row-changed > .tc-row-select[b-xfvdsnefys] {
    background-color: #fff3cd;
}

.tc-change-note[b-xfvdsnefys] {
    color: #c00;
    font-size: 0.8em;
    font-weight: 600;
    margin-top: 2px;
    white-space: normal;
}

.tc-changes[b-xfvdsnefys] {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    margin-left: 12px;
}

.tc-changes-summary[b-xfvdsnefys] {
    color: #c00;
    font-weight: 600;
}

.tc-pricing-header th[b-xfvdsnefys] {
    background: #f8f9fa;
    color: #343a40;
    padding: 6px;
    text-align: left;
    vertical-align: top;
    font-size: 11px;
    font-weight: 400;
    white-space: normal;
}

.tc-pricing-actions[b-xfvdsnefys] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 6px;
    margin-bottom: 4px;
}

.tc-pricing-actions select[b-xfvdsnefys] {
    min-width: 0;
    max-width: 100%;
    flex: 1 1 180px;
}

.tc-pricing-warning[b-xfvdsnefys] {
    color: #9b4510;
    margin-top: 2px;
}

.tc-vendor-total[b-xfvdsnefys] {
    font-size: 12px;
    opacity: 0.9;
}

.tc-arp-label[b-xfvdsnefys] {
    font-size: 11px;
    font-weight: 400;
    opacity: 0.85;
    margin-right: 4px;
}

.tc-vendor-total.tc-editable-total[b-xfvdsnefys] {
    cursor: pointer;
    padding: 2px 6px;
    border-radius: 3px;
    transition: background-color 0.2s ease;
}

.tc-vendor-total.tc-editable-total:hover[b-xfvdsnefys] {
    background: rgba(255, 255, 255, 0.2);
    text-decoration: underline dotted;
}

/* Inline edit in header */
.tc-inline-edit-header[b-xfvdsnefys] {
    min-width: 100px;
    background: white;
    color: #000;
}

.tc-badge-selected[b-xfvdsnefys] {
    background: #ffc107;
    color: #000;
    font-size: 9px;
    padding: 1px 6px;
    border-radius: 3px;
    font-weight: 700;
}

.tc-vendor-actions[b-xfvdsnefys] {
    display: flex;
    gap: 2px;
}

.tc-action-btn[b-xfvdsnefys] {
    background: transparent;
    border: 1px solid rgba(255, 255, 255, 0.4);
    border-radius: 4px;
    color: rgba(255, 255, 255, 0.85);
    cursor: pointer;
    padding: 2px 6px;
    font-size: 13px;
    line-height: 1;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    transition: all 0.2s ease;
}

.tc-action-btn:hover[b-xfvdsnefys] {
    background: rgba(255, 255, 255, 0.2);
    color: #fff;
    border-color: rgba(255, 255, 255, 0.7);
}

.tc-action-select:hover[b-xfvdsnefys] {
    background: rgba(25, 135, 84, 0.5);
}

.tc-action-remove:hover[b-xfvdsnefys] {
    background: rgba(220, 53, 69, 0.5);
}

/* === Sub-header === */
.tc-subheader th[b-xfvdsnefys] {
    background: #e9ecef;
    font-weight: 600;
    font-size: 10px;
    text-align: center;
    text-transform: uppercase;
    color: #495057;
    padding: 4px 6px;
}

/* === Separator column === */
.tc-sep[b-xfvdsnefys] {
    width: 12px !important;
    min-width: 12px !important;
    max-width: 12px !important;
    background: #e9ecef !important;
    border-left: 3px solid #adb5bd !important;
    border-right: 1px solid #dee2e6 !important;
    padding: 0 !important;
}

/* === Sticky columns === */
.tc-sticky[b-xfvdsnefys] {
    position: sticky;
    left: 0;
    z-index: 2;
    background: #fff;
}

/* Sticky columns inside sticky thead/tfoot need higher z-index */
.tc-table thead .tc-sticky[b-xfvdsnefys],
.tc-table tfoot .tc-sticky[b-xfvdsnefys] {
    z-index: 4;
}

.tc-subheader .tc-sticky[b-xfvdsnefys] {
    background: #e9ecef;
}

.tc-group-header .tc-sticky[b-xfvdsnefys] {
    background: #495057;
}

/* === Data rows === */
.tc-data-row:hover[b-xfvdsnefys] {
    background: #f0f7ff;
}

.tc-data-row:hover .tc-sticky[b-xfvdsnefys] {
    background: #f0f7ff;
}

.tc-line[b-xfvdsnefys] {
    text-align: center;
    font-weight: 600;
    color: #6c757d;
    font-size: 11px;
}

.tc-desc[b-xfvdsnefys] {
    max-width: 280px;
    overflow: hidden;
    text-overflow: ellipsis;
}

.tc-table td.tc-num[b-xfvdsnefys],
.tc-table th.tc-num[b-xfvdsnefys] {
    text-align: center !important;
    font-variant-numeric: tabular-nums;
}

.tc-unit[b-xfvdsnefys] {
    text-align: center;
    color: #6c757d;
    font-size: 11px;
}

.tc-total[b-xfvdsnefys] {
    font-weight: 600;
}

.tc-check[b-xfvdsnefys] {
    text-align: center;
}

/* The DxCheckBox root (.dxbl-checkbox) is display:flex — a block-level box, so
   the cell's text-align cannot centre it. Centre the flex content instead
   (reopen 2026-08-20: "center align the include tick boxes"). */
.tc-check[b-xfvdsnefys]  .dxbl-checkbox {
    justify-content: center;
}

/* === Empty / editable cells === */
.tc-empty[b-xfvdsnefys] {
    background: #fafafa;
    cursor: pointer;
    position: relative;
    transition: all 0.2s ease;
}

.tc-empty:hover[b-xfvdsnefys] {
    background: #fff3cd;
    border-color: #ffc107;
}

.tc-empty-indicator[b-xfvdsnefys] {
    color: #adb5bd;
    font-size: 14px;
    font-weight: bold;
    opacity: 0;
    transition: opacity 0.2s ease;
}

.tc-empty:hover .tc-empty-indicator[b-xfvdsnefys] {
    opacity: 1;
    color: #ffc107;
}

.tc-editable[b-xfvdsnefys] {
    cursor: pointer;
    transition: background-color 0.2s ease;
}

.tc-editable:hover[b-xfvdsnefys] {
    background: #e8f4fd;
    border: 1px dotted #0d6efd;
    box-shadow: inset 0 0 0 1px #0d6efd;
}

/* Inline edit spin-edit */
.tc-inline-edit[b-xfvdsnefys] {
    width: 100%;
    min-width: 60px;
}

/* === Footer === */
.tc-footer-row td[b-xfvdsnefys] {
    background: #e9ecef;
    border-top: 2px solid #495057;
    font-weight: 700;
    box-shadow: 0 -2px 4px rgba(0, 0, 0, 0.08);
}

.tc-footer-label[b-xfvdsnefys] {
    font-size: 11px;
    text-transform: uppercase;
}

.tc-footer-total[b-xfvdsnefys] {
    font-size: 12px;
}

.tc-variance[b-xfvdsnefys] {
    text-align: center;
    font-size: 10px;
    font-weight: 600;
    padding: 4px 2px;
}

.tc-variance small[b-xfvdsnefys] {
    font-weight: normal;
}

/* === Popup === */
.tc-popup-label[b-xfvdsnefys] {
    font-weight: 600;
    font-size: 12px;
    margin-bottom: 4px;
    display: block;
}

/* === Alternating vendor columns background === */
.tc-table tbody tr td:nth-child(n+7)[b-xfvdsnefys] {
    background: rgba(0, 0, 0, 0.01);
}

/* === Empty State === */
.tc-empty-state[b-xfvdsnefys] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 60px 20px;
    background: #f8f9fa;
    border: 2px dashed #dee2e6;
    border-radius: 8px;
    margin: 20px;
    text-align: center;
}

/* === Notes === */
.tc-notes-cell[b-xfvdsnefys] {
    padding: 2px 4px;
    vertical-align: middle;
}

[b-xfvdsnefys] .tc-has-notes {
    filter: hue-rotate(30deg) brightness(1.2);
}

[b-xfvdsnefys] .tc-notes-editor {
    width: 100%;
}

/* === Scope rows (user-added budget lines) === */
.tc-scope-section-header td[b-xfvdsnefys] {
    background: #1a4a6e;
    color: #fff;
    font-weight: 700;
    font-size: 11px;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    padding: 6px 8px;
    text-align: left;
}

.tc-scope-row td[b-xfvdsnefys] {
    background: #f0f4f8;
    padding: 4px 6px;
    vertical-align: middle;
}

.tc-scope-row td.tc-sticky[b-xfvdsnefys] {
    background: #f0f4f8;
}

.tc-scope-budget-total[b-xfvdsnefys] {
    font-weight: 600;
    color: #1a4a6e;
}

/* === Extras rows (integrated into the main comparison table) === */
.tc-extras-section-header td[b-xfvdsnefys] {
    background: #495057;
    color: #fff;
    font-weight: 700;
    font-size: 11px;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    padding: 6px 8px;
    text-align: left;
}

.tc-extras-vendor-row td[b-xfvdsnefys] {
    background: #e9ecef;
    border-top: 2px solid #adb5bd;
    padding: 4px 6px;
}

.tc-extras-vendor-row td.tc-sticky[b-xfvdsnefys] {
    background: #e9ecef;
}

.tc-extras-vendor-label[b-xfvdsnefys] {
    font-weight: 700;
    font-size: 12px;
    color: #212529;
    text-align: left !important;
}

.tc-extras-vendor-selected td.tc-extras-vendor-label[b-xfvdsnefys] {
    color: #0f5132;
}

.tc-extras-add-cell[b-xfvdsnefys] {
    text-align: left !important;
    padding: 3px 6px !important;
}

.tc-extras-row td[b-xfvdsnefys] {
    background: #fff;
    padding: 4px 6px;
    vertical-align: middle;
}

.tc-extras-row td.tc-sticky[b-xfvdsnefys] {
    background: #fff;
}

.tc-extras-desc-cell[b-xfvdsnefys] {
    text-align: left !important;
    padding: 4px 6px !important;
}

.tc-extras-row .tc-extra-actions[b-xfvdsnefys] {
    text-align: center;
}

.tc-extras-subtotal-row td[b-xfvdsnefys] {
    background: #f1f3f5;
    border-top: 1px solid #adb5bd;
    font-weight: 700;
    padding: 4px 6px;
}

.tc-extras-subtotal-row td.tc-sticky[b-xfvdsnefys] {
    background: #f1f3f5;
}

.tc-extras-subtotal-label[b-xfvdsnefys] {
    text-align: right !important;
    font-size: 11px;
    text-transform: uppercase;
    color: #495057;
}

.tc-extras-subtotal-value[b-xfvdsnefys] {
    font-size: 12px;
    text-align: center !important;
}

.tc-section-subtotal-value[b-xfvdsnefys] {
    font-size: 12px;
    text-align: right;
}

/* === Deductions section header and subtotal === */
.tc-deductions-section-header td[b-xfvdsnefys] {
    background: #842029;
    color: #fff;
    font-weight: 700;
    font-size: 11px;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    padding: 6px 8px;
    text-align: left;
}

.tc-deductions-subtotal-row td[b-xfvdsnefys] {
    background: #f8d7da;
    border-top: 1px solid #f1aeb5;
    font-weight: 700;
    padding: 4px 6px;
}

.tc-deductions-subtotal-row td.tc-sticky[b-xfvdsnefys] {
    background: #f8d7da;
}

[b-xfvdsnefys] .tc-extra-edit {
    width: 100%;
    min-width: 0;
}

[b-xfvdsnefys] .tc-extra-edit .dxbl-edit {
    font-size: 13px;
}

[b-xfvdsnefys] .tc-extra-edit .dxbl-edit-input,
[b-xfvdsnefys] .tc-extra-edit input,
[b-xfvdsnefys] .tc-extra-edit .dxbl-text-edit {
    font-size: 13px !important;
    min-height: 28px;
    padding: 4px 6px;
}

/* === Comparison Matrix (weighted vendor scorecard) === */
.tc-matrix-section-header td[b-xfvdsnefys] {
    background: #14532d;
    color: #fff;
    font-weight: 700;
    font-size: 11px;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    padding: 6px 8px;
    text-align: left;
}

.tc-matrix-section-header td.tc-matrix-weighting-header[b-xfvdsnefys] {
    text-align: right;
    text-transform: none;
}

.tc-matrix-row td[b-xfvdsnefys] {
    background: #f2f8f4;
    padding: 4px 6px;
    vertical-align: middle;
}

.tc-matrix-row td.tc-sticky[b-xfvdsnefys] {
    background: #f2f8f4;
}

.tc-matrix-criterion[b-xfvdsnefys] {
    text-align: left !important;
    font-weight: 600;
    color: #14532d;
}

.tc-matrix-weighting[b-xfvdsnefys] {
    color: #14532d;
    font-weight: 600;
}

.tc-matrix-score-cell[b-xfvdsnefys] {
    padding: 4px 6px;
}

.tc-matrix-total-row td[b-xfvdsnefys] {
    background: #dcefe2;
    border-top: 1px solid #8fbf9f;
    font-weight: 700;
    padding: 4px 6px;
}

.tc-matrix-total-row td.tc-sticky[b-xfvdsnefys] {
    background: #dcefe2;
}

.tc-matrix-total-label[b-xfvdsnefys] {
    text-align: left !important;
    font-size: 11px;
    text-transform: uppercase;
    color: #14532d;
}

.tc-matrix-total-value[b-xfvdsnefys] {
    font-size: 12px;
    color: #14532d;
}

.tc-matrix-total-value.tc-matrix-best[b-xfvdsnefys] {
    background: #92d050;
    color: #143a1f;
}
