/* Vendor portal — small overrides on Bootstrap 5, mobile-first.
   Self-contained direct-DB app (mirrors apps/mis). */

/* KPI cards */
.vend-kpi .card {
    border: 0;
    box-shadow: 0 1px 3px rgba(16, 24, 40, .1);
}

.vend-kpi .kpi-label {
    font-size: .75rem;
    text-transform: uppercase;
    letter-spacing: .04em;
    color: #6c757d;
}

.vend-kpi .kpi-value {
    font-size: 1.25rem;
    font-weight: 600;
    white-space: nowrap;
}

@media (min-width: 768px) {
    .vend-kpi .kpi-value {
        font-size: 1.5rem;
    }
}

/* Filter bar labels sit tight above their inputs */
.vend-filter-bar .form-label {
    font-size: .7rem;
    text-transform: uppercase;
    letter-spacing: .03em;
    color: #6c757d;
    margin-bottom: .1rem;
}

/* Busy state for a table/section while its AJAX call is in flight */
.vend-busy {
    opacity: .5;
    pointer-events: none;
    transition: opacity .15s ease-in-out;
}

/* NULL / missing metric cells render as a muted em dash */
.vend-null {
    color: #adb5bd;
}

/* Stage badges may carry an inline background colour from the DB */
#tbLeads .badge {
    font-weight: 500;
}

/* Performance report — inline rate bar */
.vend-rate {
    min-width: 52px;
    text-align: right;
    font-variant-numeric: tabular-nums;
}

.vend-bar-wrap {
    display: inline-block;
    width: 90px;
    height: .5rem;
    background: #eef1f5;
    border-radius: 3px;
    overflow: hidden;
}

.vend-bar-wrap .vend-bar {
    display: block;
    height: 100%;
    min-width: 2px;
    background: #198754;
    border-radius: 3px;
}
