/* Sales Force Automation */

.sfa-funnel {
    display: flex;
    gap: 0.5rem;
    overflow-x: auto;
    padding-bottom: 0.5rem;
}

.sfa-funnel-stage {
    flex: 1 0 120px;
    min-width: 120px;
    text-align: center;
    padding: 0.75rem 0.5rem;
    background: var(--bs-tertiary-bg);
    border-radius: 8px;
    border-top: 3px solid var(--portal-accent, #6c3a36);
}

.sfa-funnel-stage .count {
    font-size: 1.25rem;
    font-weight: 700;
    color: var(--portal-accent, #6c3a36);
}

.sfa-funnel-stage.won { border-top-color: #0ab39c; }
.sfa-funnel-stage.lost { border-top-color: #f06548; }

.quote-lifecycle-board {
    display: flex;
    gap: 0.75rem;
    overflow-x: auto;
    min-height: 360px;
}

.quote-lifecycle-col {
    flex: 0 0 220px;
    min-width: 220px;
    background: var(--bs-tertiary-bg);
    border-radius: 10px;
    padding: 0.65rem;
}

.quote-lifecycle-card {
    background: var(--bs-body-bg);
    border: 1px solid var(--bs-border-color);
    border-radius: 8px;
    padding: 0.65rem;
    margin-bottom: 0.5rem;
    font-size: 0.8125rem;
}

.validation-badge {
    font-size: 0.65rem;
    padding: 0.15rem 0.35rem;
}

.validation-pass { color: #0ab39c; }
.validation-fail { color: #f06548; }

.quote-validation-cell {
    min-width: 200px;
}

.quote-validation-list {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.35rem 0.65rem;
    margin: 0;
    padding: 0;
    list-style: none;
}

.quote-validation-item {
    display: inline-flex;
    align-items: center;
    gap: 0.2rem;
    white-space: nowrap;
    line-height: 1.25;
    vertical-align: middle;
}

.quote-validation-item i {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 1rem;
    line-height: 1;
    width: 1rem;
    height: 1rem;
    flex-shrink: 0;
}

.quote-validation-cell .validation-badge {
    display: inline-flex;
    align-items: center;
    margin-top: 0.25rem;
}

.target-progress-lg {
    height: 10px;
    border-radius: 5px;
}

.sfa-rule-banner {
    border-left: 4px solid #6c3a36;
    background: rgba(108, 58, 54, 0.06);
    border-radius: 0 8px 8px 0;
    padding: 0.85rem 1rem;
}

.top-performer-row {
    border-left: 3px solid #0ab39c;
    padding-left: 0.75rem;
}

.top-performer-row.rank-2 { border-left-color: #6c3a36; }
.top-performer-row.rank-3 { border-left-color: #f7b84b; }

.quote-followup-slot {
    border-left: 3px solid var(--portal-accent, #6c3a36);
    padding: 0.65rem 1rem;
    margin-bottom: 0.5rem;
    background: var(--bs-body-bg);
    border-radius: 0 8px 8px 0;
}

.quote-followup-slot.overdue {
    border-left-color: #f06548;
    background: rgba(240, 101, 72, 0.04);
}
