/* Indicateurs */
.chart-bars { display: grid; grid-template-columns: repeat(12, 1fr); gap: 6px; align-items: end; height: 170px; padding: var(--s-4) var(--s-5) 0; }
.chart-bars__col { display: flex; flex-direction: column; align-items: center; justify-content: flex-end; height: 100%; gap: 4px; }
.chart-bars__bar { width: 100%; max-width: 38px; background: var(--encre); border-radius: 1px 1px 0 0; min-height: 1px; }
.chart-bars__col:last-child .chart-bars__bar { background: var(--rouge); }
.chart-bars__n { font-size: var(--t-xs); color: var(--ardoise); font-variant-numeric: tabular-nums; }
.chart-bars__labels { display: grid; grid-template-columns: repeat(12, 1fr); gap: 6px; padding: var(--s-2) var(--s-5) var(--s-4); font-size: 11px; color: var(--brume); text-align: center; }

.funnel { display: flex; flex-direction: column; gap: var(--s-3); }
.funnel__row { display: grid; grid-template-columns: 150px 1fr 110px; gap: var(--s-3); align-items: center; font-size: var(--t-sm); }
.funnel__track { height: 22px; background: var(--surface); border-radius: 1px; }
.funnel__fill { height: 100%; background: var(--encre); border-radius: 1px; display: flex; align-items: center; padding-left: 8px; color: var(--blanc); font-size: var(--t-xs); min-width: 24px; }
.funnel__amount { text-align: right; font-variant-numeric: tabular-nums; color: var(--ardoise); }

.type-chips { display: flex; flex-wrap: wrap; gap: 4px; max-width: 300px; min-width: 180px; }
.type-chips span { font-size: 11px; padding: 0 6px; border-radius: var(--r-pill); background: var(--surface); color: var(--ardoise); white-space: nowrap; }
.period { display: flex; flex-wrap: wrap; gap: var(--s-2); align-items: center; }
.period input[type=date] { width: 150px; }
.objectif { padding: var(--s-4) var(--s-5); }
.objectif__line { display: flex; justify-content: space-between; font-size: var(--t-sm); margin-bottom: var(--s-2); }
.objectif .progress > span { background: var(--rouge); }

.ref-list { list-style: none; margin: 0; padding: 0; }
.ref-list li { display: grid; grid-template-columns: 1fr auto; gap: var(--s-2); align-items: center; padding: var(--s-2) var(--s-4); border-bottom: 1px solid var(--trait); font-size: var(--t-sm); }
.ref-list li.is-off .ref-list__label { color: var(--brume); text-decoration: line-through; }
.ref-list__tools { display: flex; gap: 2px; }
.ref-add { display: flex; gap: var(--s-2); padding: var(--s-3) var(--s-4); }
@media (max-width: 640px) { .funnel__row { grid-template-columns: 100px 1fr; } .funnel__amount { display: none; } }
.table td .strong, .table td > .muted { white-space: nowrap; }
.funnel__fill.is-zero { background: none; color: var(--brume); padding-left: 0; min-width: 0; }
