/* financials-multiplier.css — surveyor multiplier tab */

.fin-mult-controls {
    display: flex;
    align-items: center;
    gap: 10px;
    flex-wrap: wrap;
    margin-bottom: 14px;
}

.fin-mult-table td,
.fin-mult-table th {
    font-variant-numeric: tabular-nums;
}

.fin-mult-table .fin-num {
    text-align: right;
}

.fin-mult {
    font-size: 14px;
    font-weight: 700;
    padding: 1px 6px;
    border-radius: var(--border-radius-sm);
}

/* At or above target */
.fin-mult-good {
    color: #14532d;
    background: var(--color-bg-success);
}

/* Covering costs but below target */
.fin-mult-ok {
    color: #854d0e;
    background: var(--color-bg-warning);
}

/* Below break-even */
.fin-mult-bad {
    color: #991b1b;
    background: var(--color-bg-danger);
}

.fin-mult-detail {
    font-size: 11px;
    color: var(--color-text-tertiary);
    margin-top: 2px;
    font-weight: 400;
}

.fin-mult-part {
    display: inline-block;
    margin-left: 5px;
    font-size: 9px;
    font-weight: 700;
    letter-spacing: 0.03em;
    text-transform: uppercase;
    color: var(--color-text-secondary);
    background: var(--color-background-tertiary);
    border-radius: var(--border-radius-sm);
    padding: 1px 4px;
    vertical-align: middle;
    cursor: help;
}

.fin-muted {
    color: var(--color-text-tertiary);
    font-size: 11px;
}

/* ---------------- v2: ranking bars in the Multiplier tab ---------------- */

.fin-mult-ranking {
    display: flex;
    flex-direction: column;
    gap: 8px;
    margin-bottom: 20px;
}

.fin-mult-rank-row {
    display: grid;
    grid-template-columns: 190px 1fr 64px;
    align-items: center;
    gap: 12px;
}

.fin-mult-rank-name {
    font-size: 13px;
    font-weight: 600;
    color: var(--color-text-primary);
}

.fin-mult-rank-meta {
    display: block;
    font-size: 11px;
    font-weight: 400;
    color: var(--color-text-tertiary);
}

.fin-mult-rank-track {
    position: relative;
    height: 20px;
    background: var(--color-background-tertiary);
    border-radius: var(--border-radius-sm);
    overflow: hidden;
}

.fin-mult-rank-bar {
    height: 100%;
    border-radius: var(--border-radius-sm);
    transition: width 0.3s ease;
}

.fin-mult-bar-good { background: #34d399; }
.fin-mult-bar-ok   { background: #fbbf24; }
.fin-mult-bar-bad  { background: #f87171; }
.fin-mult-bar-none { background: #cbd5e1; }

.fin-mult-rank-target {
    position: absolute;
    top: 0;
    bottom: 0;
    width: 2px;
    background: var(--color-text-primary);
    opacity: 0.55;
}

.fin-mult-rank-value {
    font-size: 15px;
    font-weight: 700;
    text-align: right;
    font-variant-numeric: tabular-nums;
}

.fin-mult-none { color: var(--color-text-tertiary); }

/* Percent-through marker on the in-progress FY column header */
.fin-mult-live {
    display: inline-block;
    margin-left: 4px;
    font-size: 9px;
    font-weight: 700;
    color: var(--color-text-info);
    background: var(--color-bg-info);
    border-radius: var(--border-radius-sm);
    padding: 1px 4px;
    vertical-align: middle;
}

.fin-card-of {
    font-size: 16px;
    font-weight: 600;
    color: var(--color-text-tertiary);
}

@media (max-width: 720px) {
    .fin-mult-rank-row { grid-template-columns: 120px 1fr 56px; }
}
/* A genuine salary gap distorts the ratio — the other cover badges do not,
   so only this one reads as a warning. */
.fin-mult-part.fin-mult-warn {
    background: var(--color-bg-danger);
    color: #991b1b;
}