/* Tela Fluxo de caixa (Financeiro > Fluxo de caixa). Medidas da captura fluxo-caixa (1440 × 900, escala 2). */
#view-root[data-view='cash-flow'] {
  --fc-dark: #0f1921;
  --fc-line: #dcdfe2;
  --fc-head: #f6f6f6;
  --fc-text: #262b2f;
  --fc-muted: #6b7177;
  --fc-green: #1f8a43;
  --fc-green-soft: #d9efe0;
  --fc-red: #c9302c;
  --fc-red-soft: #f9dcdb;
  --fc-amber-soft: #f6e8d4;
  --fc-gray-soft: #e8eaec;
  font-family: 'Source Sans Pro', 'Source Sans 3', system-ui, sans-serif;
  color: var(--fc-text);
}
.topbar h1[data-route='cash-flow']::before {
  content: ''; display: inline-block; width: 24px; height: 24px; margin-right: 8px; vertical-align: -3px;
  background: center / contain no-repeat url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23262b2f'%3E%3Cpath d='M3 3h2v16h16v2H3zm4 8h3v7H7zm5-5h3v12h-3zm5 3h3v9h-3z'/%3E%3C/svg%3E");
}
.fc-screen { display: flex; flex-direction: column; gap: 16px; }
.fc-icon { display: inline-flex; width: 1em; height: 1em; line-height: 1; flex: none; }
.fc-icon svg { display: block; width: 100%; height: 100%; }

.fc-toolbar { display: flex; justify-content: space-between; align-items: center; gap: 12px; flex-wrap: wrap; }
.fc-toolbar-start, .fc-toolbar-end { display: flex; gap: 4px; align-items: center; flex-wrap: wrap; }
.fc-tabs, .fc-granularity { display: inline-flex; border: 1px solid var(--fc-line); border-radius: 3px; overflow: hidden; background: #fff; margin-right: 4px; }
.fc-tab {
  height: 37px; padding: 0 14px; display: inline-flex; align-items: center; border: 0; border-left: 1px solid var(--fc-line);
  background: #fff; color: var(--fc-muted); font: inherit; font-size: 15px; text-decoration: none; cursor: pointer;
}
.fc-tab:first-child { border-left: 0; }
.fc-tab.is-active { background: var(--fc-dark); color: #fff; font-weight: 600; }
.fc-tab:disabled { cursor: not-allowed; opacity: 1; color: var(--fc-text); }
.fc-btn {
  display: inline-flex; align-items: center; justify-content: center; gap: 6px; height: 37px; padding: 0 12px;
  border: 1px solid var(--fc-dark); border-radius: 3px; font: inherit; font-size: 16px; line-height: 1; cursor: pointer; white-space: nowrap; list-style: none;
}
.fc-btn-dark { background: var(--fc-dark); color: #fff; }
.fc-btn-outline { background: #fff; color: var(--fc-text); }
.fc-btn-square { width: 41px; padding: 0; }
.fc-btn:disabled { cursor: not-allowed; opacity: .85; }
.fc-period { position: relative; }
.fc-period > summary::-webkit-details-marker { display: none; }
.fc-menu {
  position: absolute; right: 0; top: 42px; z-index: 20; min-width: 200px; background: #fff; border: 1px solid var(--fc-line);
  border-radius: 3px; box-shadow: 0 6px 16px rgba(0, 0, 0, .15); padding: 4px 0;
}
.fc-menu a { display: block; padding: 8px 14px; color: var(--fc-text); text-decoration: none; }
.fc-menu a:hover, .fc-menu a.current { background: var(--fc-head); font-weight: 600; }

.fc-cards { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 12px; }
.fc-card {
  display: flex; flex-direction: column; gap: 6px; height: 126px; padding: 12px 16px; box-sizing: border-box;
  background: #fff; border: 1px solid var(--fc-line); border-radius: 3px; color: inherit; text-decoration: none;
}
.fc-card-link { cursor: pointer; }
.fc-card-link:hover { border-color: #b7bcc1; }
.fc-card-head { display: flex; align-items: center; gap: 10px; min-height: 40px; }
.fc-card-label { font-size: 13px; font-weight: 600; flex: 1; }
.fc-card-icon { display: inline-flex; align-items: center; justify-content: center; width: 32px; height: 32px; border-radius: 4px; font-size: 18px; }
.fc-tone-gray { background: var(--fc-gray-soft); color: #4a5056; }
.fc-tone-green { background: var(--fc-green-soft); color: var(--fc-green); }
.fc-tone-red { background: var(--fc-red-soft); color: var(--fc-red); }
.fc-tone-amber { background: var(--fc-amber-soft); color: #a46a1f; }
.fc-card-value { font-size: 24px; font-weight: 600; line-height: 1.1; }
.fc-card-note { font-size: 12px; color: var(--fc-muted); }
.fc-ring { position: relative; display: inline-flex; width: 40px; height: 40px; align-items: center; justify-content: center; }
.fc-ring svg { position: absolute; inset: 0; }
.fc-ring b { position: relative; font-size: 10px; font-weight: 600; }
.fc-ring-track { fill: none; stroke: #e1e4e6; stroke-width: 3; }
.fc-ring-value { fill: none; stroke-width: 3; stroke-linecap: round; }
.fc-ring-green .fc-ring-value { stroke: var(--fc-green); }
.fc-ring-green b { color: var(--fc-green); }
.fc-ring-red .fc-ring-value { stroke: var(--fc-red); }
.fc-ring-red b { color: var(--fc-red); }

.fc-panel { background: #fff; border: 1px solid var(--fc-line); border-radius: 3px; overflow: hidden; }
.fc-panel-head { padding: 14px 20px 10px; background: var(--fc-head); border-bottom: 1px solid var(--fc-line); }
.fc-panel-head-row { display: flex; justify-content: space-between; align-items: center; gap: 12px; flex-wrap: wrap; }
.fc-panel-head h2 { margin: 0; font-size: 20px; font-weight: 300; }
.fc-panel-head h2 strong { font-weight: 700; }
.fc-panel-head small { display: block; margin-top: 6px; font-size: 11px; color: var(--fc-muted); }
.fc-table-wrap { overflow-x: auto; }
.fc-table { width: 100%; border-collapse: collapse; font-size: 14px; }
.fc-table th { text-align: left; padding: 14px 12px; font-weight: 600; border-bottom: 1px solid var(--fc-line); background: #fff; white-space: nowrap; }
.fc-table td { padding: 12px; border-bottom: 1px solid var(--fc-line); vertical-align: middle; }
.fc-table .fc-amount { text-align: right; white-space: nowrap; font-variant-numeric: tabular-nums; }
.fc-row-receivable td { background: var(--fc-green-soft); }
.fc-row-receivable .fc-amount { color: var(--fc-green); font-weight: 600; }
.fc-row-payable .fc-amount { color: var(--fc-red); font-weight: 600; }
.fc-desc strong { font-weight: 600; }
.fc-part { font-size: 11px; color: var(--fc-muted); }
.fc-origin { margin-left: 4px; font-size: 13px; color: #4a5056; }
.fc-desc small { display: block; margin-top: 3px; font-size: 11px; color: var(--fc-muted); text-transform: uppercase; }
.fc-status {
  display: inline-block; padding: 2px 6px; border: 1px solid currentColor; border-radius: 3px; font-size: 11px; font-weight: 600; background: #fff;
}
.fc-status-ok { color: var(--fc-green); }
.fc-status-late { color: var(--fc-red); }
.fc-status-part { color: #a46a1f; }
.fc-status-open { color: #4a5056; }
.fc-total td { font-weight: 700; background: var(--fc-head); }
.fc-empty { text-align: center; color: var(--fc-muted); padding: 24px 12px; }

.fc-chart { margin: 0; padding: 12px 16px 4px; }
.fc-chart svg { width: 100%; height: auto; display: block; }
.fc-grid { stroke: #e4e7e9; stroke-width: 1; }
.fc-zero { stroke: #9aa1a6; stroke-width: 1; }
.fc-axis { font-size: 11px; fill: var(--fc-muted); }
.fc-bar-recv { fill: var(--fc-green); }
.fc-bar-recv-exp { fill: #a9d8b8; }
.fc-bar-pay { fill: var(--fc-red); }
.fc-bar-pay-exp { fill: #efb1af; }
.fc-line { fill: none; stroke-width: 2.5; stroke-linejoin: round; }
.fc-line-exp { stroke: #4a5056; stroke-dasharray: 6 4; }
.fc-line-real { stroke: var(--fc-dark); }
.fc-legend { display: flex; flex-wrap: wrap; gap: 6px 18px; padding: 8px 4px 12px; font-size: 12px; color: var(--fc-muted); }
.fc-key::before { content: ''; display: inline-block; width: 12px; height: 12px; margin-right: 6px; border-radius: 2px; vertical-align: -2px; }
.fc-key-recv-exp::before { background: #a9d8b8; }
.fc-key-recv::before { background: var(--fc-green); }
.fc-key-pay-exp::before { background: #efb1af; }
.fc-key-pay::before { background: var(--fc-red); }
.fc-key-line-exp::before { height: 0; border-top: 2.5px dashed #4a5056; border-radius: 0; vertical-align: 3px; }
.fc-key-line-real::before { height: 0; border-top: 2.5px solid var(--fc-dark); border-radius: 0; vertical-align: 3px; }

@media (max-width: 1100px) { .fc-cards { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (max-width: 700px) { .fc-cards { grid-template-columns: repeat(2, minmax(0, 1fr)); } .fc-toolbar { flex-direction: column; align-items: stretch; } }
@media print { .fc-toolbar { display: none; } }

/* Larguras da captura (Data 6%, Recebimento 37%, Plano 24%, Centro 18%, Situação 7%, Valor 8%), ajustadas para caber a data. */
.fc-table { table-layout: fixed; }
.fc-table th:nth-child(1) { width: 8.5%; }
.fc-table th:nth-child(2) { width: 34%; }
.fc-table th:nth-child(3) { width: 22%; }
.fc-table th:nth-child(4) { width: 17%; }
.fc-table th:nth-child(5) { width: 9%; }
.fc-table th:nth-child(6) { width: 9.5%; }

/* ===== Leva 5, T4: larguras fluidas na medida da captura (1410 px de página), anel fino e título claro ===== */
.fc-cards { gap: 13px; }
.fc-card { gap: 9px; }
.fc-card-note { margin-top: -5px; }
.fc-ring-track, .fc-ring-value { stroke-width: 2; }
.fc-ring-value { stroke-linecap: butt; }
.fc-ring b { font-size: 8px; font-weight: 700; }
.fc-panel-head { padding: 11px 20px 12px; }
.fc-panel-head h2 { font-weight: 300; color: #4d5358; line-height: 1.3; }
.fc-panel-head h2 strong { color: #1f2428; }
.fc-panel-head small { margin-top: 4px; color: #6b7177; }
.fc-table th:nth-child(1) { width: max(90px, 6.4%); }
.fc-table th:nth-child(2) { width: 37%; }
.fc-table th:nth-child(3) { width: 23.9%; }
.fc-table th:nth-child(4) { width: 18.3%; }
.fc-table th:nth-child(5) { width: 6.6%; }
.fc-table th:nth-child(6) { width: 7.7%; }
.fc-table td:nth-child(1) { white-space: nowrap; }
