/* Resultados, gastos e inversiones · JR3DSTUDIO */
.finance-main { display: grid; gap: 16px; }
.finance-main > * { margin-top: 0; margin-bottom: 0; }
.finance-filters { display: grid; grid-template-columns: minmax(160px, .55fr) minmax(260px, 1.4fr) auto auto; gap: 10px; align-items: end; }
.finance-filters label { display: grid; gap: 5px; color: #244b62; font-size: .78rem; font-weight: 800; }
.finance-block { display: grid; grid-template-columns: minmax(220px, .72fr) minmax(0, 2fr); gap: 18px; padding: 19px; border: 1px solid #c8d8e8; border-radius: 18px; background: #fff; box-shadow: 0 6px 18px rgba(4,42,76,.08); }
.finance-block > div:first-child h2 { margin: 4px 0 7px; }
.finance-block > div:first-child p:last-child { color: #527080; font-size: .82rem; line-height: 1.5; }
.finance-kpis { display: grid; grid-template-columns: repeat(auto-fit, minmax(160px, 1fr)); gap: 10px; }
.finance-kpi { display: grid; align-content: start; gap: 5px; min-width: 0; padding: 14px; border: 1px solid #cbdce6; border-radius: 13px; background: #f7fbfd; }
.finance-kpi > span { color: #527080; font-size: .7rem; font-weight: 900; letter-spacing: .04em; text-transform: uppercase; }
.finance-kpi strong { color: #082f4a; font-size: 1.35rem; overflow-wrap: anywhere; }
.finance-kpi small { color: #617b8a; line-height: 1.35; }
.finance-kpi.positive { border-color: #98d7bd; background: #edfbf5; }
.finance-kpi.positive strong { color: #08704b; }
.finance-kpi.negative { border-color: #edb1aa; background: #fff2f0; }
.finance-kpi.negative strong { color: #a22b22; }
.finance-status { display: grid; grid-template-columns: minmax(180px, .55fr) minmax(0, 2fr); gap: 18px; align-items: center; }
.finance-status h2 { margin: 3px 0 0; }
.finance-status-grid { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 8px; }
.finance-status-grid span { display: grid; gap: 3px; padding: 10px; border-radius: 10px; color: #527080; background: #edf6fa; font-size: .72rem; font-weight: 800; text-transform: uppercase; }
.finance-status-grid b { color: #082f4a; font-size: 1.25rem; }
.finance-section .section-head { align-items: flex-start; }
.finance-rule-summary { display: grid; grid-template-columns: auto auto; gap: 2px 8px; align-items: baseline; min-width: 165px; padding: 11px 13px; border: 1px solid #bdd3e1; border-radius: 12px; background: #f5fafc; }
.finance-rule-summary strong { color: #082f4a; text-align: right; }
.finance-rule-summary span { color: #527080; font-size: .68rem; font-weight: 850; text-transform: uppercase; }
.finance-section-total { padding: 9px 13px; border-radius: 11px; color: #082f4a; background: #edf6fa; font-size: 1.3rem; white-space: nowrap; }
.finance-list { display: grid; gap: 9px; margin-top: 13px; }
.finance-list-row { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 14px; align-items: center; padding: 13px; border: 1px solid #cfdee7; border-radius: 12px; background: #fbfdfe; }
.finance-list-row h3,
.finance-list-row p { margin: 3px 0; }
.finance-list-row > div:first-child > p:last-child { color: #567384; font-size: .78rem; line-height: 1.45; }
.finance-list-row.inactive,
.finance-list-row.voided { opacity: .65; }
.finance-list-row.voided h3 { text-decoration: line-through; }
.finance-editor { margin-top: 14px; padding: 12px 14px; border: 1px solid #9fc3d8; border-radius: 13px; background: #f5fafc; }
.finance-editor summary { cursor: pointer; color: #174b69; font-weight: 900; }
.finance-editor form { margin-top: 13px; }
.finance-editor label { display: grid; gap: 5px; color: #244b62; font-size: .78rem; font-weight: 800; }
.finance-form-help { padding: 10px 12px; border-left: 4px solid #d48a18; border-radius: 7px; color: #6b4c18; background: #fff8df; font-size: .78rem; line-height: 1.45; }
.finance-recovery-bar { height: 12px; margin: 12px 0 15px; overflow: hidden; border-radius: 999px; background: #d8e5ec; }
.finance-recovery-bar span { display: block; height: 100%; border-radius: inherit; background: linear-gradient(90deg, #16865f, #4dc997); }
.finance-recovery > .muted { margin-bottom: 0; }

.dark .finance-block,
.dark .finance-kpi,
.dark .finance-list-row,
.dark .finance-rule-summary,
.dark .finance-editor { color: #edf8ff; background: #0b243d; border-color: #3b6487; }
.dark .finance-kpi > span,
.dark .finance-kpi small,
.dark .finance-list-row > div:first-child > p:last-child,
.dark .finance-rule-summary span { color: #b7cfdd; }
.dark .finance-kpi strong,
.dark .finance-status-grid b,
.dark .finance-rule-summary strong,
.dark .finance-section-total { color: #edf8ff; }
.dark .finance-kpi.positive { background: #123b31; border-color: #2f8064; }
.dark .finance-kpi.positive strong { color: #78e4bd; }
.dark .finance-kpi.negative { background: #46221f; border-color: #914a44; }
.dark .finance-kpi.negative strong { color: #ffb4ad; }
.dark .finance-status-grid span,
.dark .finance-section-total { color: #bad3df; background: #12354e; }
.dark .finance-editor summary { color: #b8e5fa; }
.dark .finance-editor label,
.dark .finance-filters label { color: #d8edf7; }
.dark .finance-form-help { color: #ffe4aa; background: #443314; }
.dark .finance-recovery-bar { background: #29485b; }

@media (max-width: 900px) {
  .finance-block,
  .finance-status { grid-template-columns: 1fr; }
  .finance-filters { grid-template-columns: 1fr 1fr; }
  .finance-status-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}

@media (max-width: 620px) {
  .finance-filters,
  .finance-status-grid { grid-template-columns: 1fr; }
  .finance-list-row,
  .finance-section .section-head { display: grid; grid-template-columns: 1fr; }
  .finance-list-row .row-actions { justify-content: flex-start; }
  .finance-rule-summary { width: 100%; }
  .finance-section-total { justify-self: start; }
}
