/* ── Tableau financier Sambuy ── */
.sambuy-table-wrapper {
    margin: 2rem 0;
    background: #fff;
    border-radius: 8px;
    box-shadow: 0 2px 12px rgba(0,0,0,0.08);
    overflow: hidden;
}
.sambuy-table-scroll {
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
}
.sambuy-table-wrapper table {
    width: 100%;
    border-collapse: collapse;
    min-width: 520px;
}
.sambuy-table-wrapper thead th {
    background: #2c3e50;
    color: #fff;
    padding: 0.85rem 1rem;
    text-align: center;
    font-size: 0.85rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.03em;
}
.sambuy-table-wrapper tbody td {
    padding: 0.75rem 1rem;
    text-align: center;
    font-size: 0.95rem;
    border-bottom: 1px solid #e9ecef;
    white-space: nowrap;
}
.sambuy-table-wrapper tbody tr:hover { background: #f0f4f8; }
.sambuy-table-wrapper tbody tr:nth-child(even) { background: #f8f9fa; }
.sambuy-table-wrapper tbody tr:nth-child(even):hover { background: #e8edf2; }
.sambuy-table-wrapper .year { font-weight: 700; color: #2c3e50; }
.sambuy-table-wrapper .subvention { color: #2980b9; font-weight: 600; }
.sambuy-table-wrapper .result-pos { color: #27ae60; font-weight: 600; }
.sambuy-table-wrapper .result-neg { color: #c0392b; font-weight: 600; }
.sambuy-table-wrapper .deficit { color: #c0392b; font-weight: 700; }
.sambuy-table-wrapper tbody tr.highlight { background: #fef9e7; }
.sambuy-table-wrapper tbody tr.highlight:hover { background: #fff3cd; }
.sambuy-table-wrapper .asterisk { color: #e67e22; font-weight: 700; }
.sambuy-footnote {
    padding: 1rem 1.5rem;
    background: #fef9e7;
    border-top: 2px solid #f0c36d;
    font-size: 0.85rem;
    color: #7d6608;
    line-height: 1.6;
}
.sambuy-footnote strong { color: #e67e22; }

@media (max-width: 600px) {
    .sambuy-table-wrapper thead { display: none; }
    .sambuy-table-wrapper table { min-width: unset; }
    .sambuy-table-wrapper tbody tr {
        display: block;
        margin-bottom: 1rem;
        border: 1px solid #dfe6e9;
        border-radius: 8px;
        overflow: hidden;
    }
    .sambuy-table-wrapper tbody tr.highlight { border-color: #f0c36d; }
    .sambuy-table-wrapper tbody td {
        display: flex;
        justify-content: space-between;
        text-align: right;
        padding: 0.6rem 1rem;
        white-space: normal;
    }
    .sambuy-table-wrapper tbody td::before {
        content: attr(data-label);
        font-weight: 600;
        color: #636e72;
        text-align: left;
        font-size: 0.8rem;
        text-transform: uppercase;
        margin-right: 1rem;
        flex-shrink: 0;
    }
    .sambuy-table-wrapper tbody td.year {
        background: #2c3e50;
        color: #fff;
        justify-content: center;
        font-size: 1.1rem;
    }
    .sambuy-table-wrapper tbody td.year::before { display: none; }
}