/* APP KAPITAL V54 - ETAPA 6C - FLUJO DE CAJA */
#cashFlowModule { margin-top: 24px; }
.cash-flow-summary-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:14px; margin:18px 0; }
.cash-flow-summary-card { background:#fff; border:1px solid #e8ddea; border-radius:18px; padding:18px; box-shadow:0 12px 34px rgba(71,36,79,.08); }
.cash-flow-summary-card span { display:block; color:#6b6170; font-size:.82rem; text-transform:uppercase; letter-spacing:.05em; }
.cash-flow-summary-card strong { display:block; margin-top:7px; color:#812990; font-size:1.8rem; }
.cf-screen-wrap { padding:14px; overflow:auto; background:#ece9ed; border-radius:20px; }
.cf-sheet { position:relative; width:100%; max-width:1480px; margin:0 auto; background:#fff; border:1px solid #242126; color:#18161a; font-family:Arial,Helvetica,sans-serif; box-shadow:0 14px 38px rgba(0,0,0,.12); }
.cf-document-code { position:absolute; top:9px; right:12px; font-weight:800; font-size:12px; z-index:2; }
.cf-header { display:grid; grid-template-columns:180px 1fr; align-items:center; min-height:92px; border-bottom:2px solid #812990; padding:12px 20px; }
.cf-logo img { max-width:145px; max-height:68px; object-fit:contain; }
.cf-header h1 { margin:0; text-align:center; color:#812990; font-size:24px; letter-spacing:.04em; }
.cf-header p { margin:5px 0 0; text-align:center; color:#625968; font-weight:700; }
.cf-section { margin:0; }
.cf-band { padding:8px 12px; background:#812990; color:#fff; font-size:12px; font-weight:900; letter-spacing:.04em; text-transform:uppercase; border-top:1px solid #1e1b20; border-bottom:1px solid #1e1b20; }
.cf-operation-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); border-bottom:1px solid #262228; }
.cf-operation-grid > div { min-height:56px; padding:8px 10px; border-right:1px solid #8f8892; border-bottom:1px solid #8f8892; }
.cf-operation-grid .wide { grid-column:span 4; }
.cf-operation-grid span, .cf-person-grid span, .cf-capacity-grid span, .cf-footer span { display:block; color:#6a626d; font-size:10px; text-transform:uppercase; font-weight:800; }
.cf-operation-grid strong, .cf-person-grid strong, .cf-capacity-grid strong { display:block; margin-top:4px; font-size:13px; }
.cf-persons-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:0; }
.cf-person-card { border-right:1px solid #373238; border-bottom:1px solid #373238; }
.cf-person-card > header { display:flex; justify-content:space-between; gap:12px; align-items:center; padding:9px 11px; background:#f2edf3; border-bottom:1px solid #8c858f; }
.cf-person-card > header span { display:block; color:#812990; font-weight:900; font-size:11px; }
.cf-person-card > header strong { display:block; margin-top:2px; }
.cf-person-card > header em { font-size:11px; color:#4f4752; }
.cf-person-card.disabled { opacity:.48; }
.cf-person-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); }
.cf-person-grid > div { padding:7px 8px; min-height:48px; border-right:1px solid #aaa3ad; border-bottom:1px solid #aaa3ad; }
.cf-person-grid .highlight { background:#f4e9f6; }
.cf-person-grid .highlight strong { color:#812990; font-size:15px; }
.cf-person-card footer { display:grid; gap:2px; padding:7px 9px; font-size:10px; background:#faf8fa; }
.cf-table-scroll { overflow-x:auto; }
.cf-table { width:100%; border-collapse:collapse; table-layout:fixed; font-size:10px; }
.cf-table th, .cf-table td { border:1px solid #4a454c; padding:5px 4px; text-align:center; vertical-align:middle; }
.cf-table th { background:#e5d9e7; color:#3e3342; font-weight:900; }
.cf-main-table { min-width:1350px; }
.cf-main-table th:first-child, .cf-main-table td:first-child { width:150px; text-align:left; }
.cf-main-table td small { display:block; margin-top:3px; color:#6a626d; }
.cf-table .disabled-row { opacity:.45; }
.cf-household-table { font-size:11px; }
.cf-total-row td { background:#812990; color:#fff; font-weight:900; }
.cf-capacity-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); }
.cf-capacity-grid > div { min-height:66px; padding:10px; border-right:1px solid #4a454c; }
.cf-capacity-grid .result { background:#e9d8ed; }
.cf-capacity-grid .result strong { color:#812990; font-size:18px; }
.cf-footer { display:grid; grid-template-columns:1fr 1fr 1.2fr; min-height:115px; border-top:1px solid #1f1c21; }
.cf-footer > div { padding:12px; border-right:1px solid #4a454c; }
.cf-footer strong { display:block; margin-top:8px; }
.cf-footer .signature { display:flex; flex-direction:column; justify-content:flex-end; align-items:center; }
.cf-footer .signature span { width:80%; border-top:1px solid #111; }
.cf-footer .signature small { margin-top:6px; }
@media (max-width:1000px) {
  .cash-flow-summary-grid { grid-template-columns:1fr; }
  .cf-operation-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .cf-operation-grid .wide { grid-column:span 2; }
  .cf-persons-grid { grid-template-columns:1fr; }
  .cf-person-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .cf-capacity-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media print {
  @page { size:A4 landscape; margin:7mm; }
  body.cf-printing * { visibility:hidden !important; }
  body.cf-printing #cashFlowPrintArea, body.cf-printing #cashFlowPrintArea * { visibility:visible !important; }
  body.cf-printing #cashFlowPrintArea { position:absolute; inset:0; width:100%; }
  body.cf-printing .cf-screen-wrap { padding:0; overflow:visible; background:#fff; }
  body.cf-printing .cf-sheet { max-width:none; width:100%; border:1px solid #000; box-shadow:none; }
  body.cf-printing .cf-header { min-height:60px; padding:6px 10px; }
  body.cf-printing .cf-header h1 { font-size:16px; }
  body.cf-printing .cf-logo img { max-height:46px; }
  body.cf-printing .cf-band { padding:4px 7px; font-size:9px; }
  body.cf-printing .cf-person-grid > div { min-height:35px; padding:4px 5px; }
  body.cf-printing .cf-main-table { min-width:0; font-size:7px; }
  body.cf-printing .cf-table th, body.cf-printing .cf-table td { padding:2px; }
  body.cf-printing .cf-footer { min-height:70px; }
}
