.group-finance { max-width: 1440px; margin-inline: auto; }
.finance-caption, .finance-card p { color: var(--text-secondary); margin: .4rem 0 0; }
.finance-controls { display: flex; flex-wrap: wrap; gap: 1rem; margin-bottom: 1rem; }
.finance-controls label { display: grid; gap: .4rem; min-width: 160px; font-weight: 600; }
.finance-controls select { width: 100%; text-transform: capitalize; }
.finance-status { display: flex; align-items: center; gap: .8rem; min-height: 2rem; color: var(--text-secondary); font-size: .9rem; }
.finance-status [hidden] { display: none; }
.finance-period { margin: 1.25rem 0; text-transform: none; }
.finance-cards { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 1rem; }
.finance-card, .finance-section, .finance-method { background: var(--surface); border: 1px solid var(--border); border-radius: 12px; padding: 1.25rem; }
.finance-card h2 { font-size: .92rem; font-weight: 600; margin: 0 0 .75rem; }
.finance-card > strong { display: block; font-size: clamp(1.2rem, 2vw, 1.8rem); overflow-wrap: anywhere; font-variant-numeric: tabular-nums; }
.finance-card p { font-size: .85rem; line-height: 1.5; }
.finance-warning { border-left: 3px solid #a66c13; padding: .6rem .9rem; margin-block: 1rem; }
.finance-empty { color: var(--text-secondary); padding: 1rem 0; }
.finance-section { margin-top: 1.5rem; }
.finance-section h2 { font-size: 1.1rem; margin: 0 0 1.25rem; }
.finance-chart { display: flex; gap: clamp(4px, 1.8vw, 26px); height: 150px; margin-bottom: 1.5rem; }
.finance-chart-column { display: flex; flex: 1; flex-direction: column; align-items: center; min-width: 0; gap: .5rem; font-size: .75rem; color: var(--text-secondary); }
.finance-chart-track { width: 100%; max-width: 50px; height: 125px; display: flex; align-items: flex-end; border-bottom: 1px solid var(--border); }
.finance-chart-track span { display: block; width: 100%; border-radius: 5px 5px 0 0; background: var(--primary); opacity: .7; }
.finance-chart-column.selected .finance-chart-track span { opacity: 1; }
.finance-table-wrap { overflow-x: auto; }
.finance-table { width: 100%; border-collapse: collapse; font-size: .92rem; font-variant-numeric: tabular-nums; }
.finance-table th, .finance-table td { padding: .8rem .65rem; border-bottom: 1px solid var(--border); text-align: right; white-space: nowrap; }
.finance-table th:first-child { text-align: left; text-transform: capitalize; }
.finance-table thead th { color: var(--text-secondary); font-size: .8rem; }
.finance-table tbody th { font-weight: 500; }
.finance-table .selected { background: var(--background); }
.finance-table tfoot { font-weight: 700; }
.finance-method { margin-top: 1rem; color: var(--text-secondary); font-size: .9rem; line-height: 1.6; }
.finance-method summary { cursor: pointer; color: var(--text); font-weight: 600; }
.finance-method ul { padding-left: 1.2rem; }
.finance-method li + li { margin-top: .5rem; }
@media (max-width: 1000px) { .finance-cards { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 600px) {
    #view-group-finance .view-header { flex-direction: column; align-items: stretch; gap: .8rem; }
    .finance-card, .finance-section, .finance-method { padding: .9rem; }
    .finance-cards { gap: .6rem; }
    .finance-card h2 { min-height: 2.5em; }
    .finance-controls label { min-width: 120px; flex: 1; }
    .finance-chart-column { font-size: .65rem; }
}
@media (max-width: 480px) { .finance-cards { grid-template-columns: 1fr; } .finance-card h2 { min-height: 0; } }
