/* Fluxo financeiro — estilos restritos a esta tela. */
.cashflow{--cash-income:#34d399;--cash-expense:#fb7185;display:flex;flex-direction:column;gap:22px;min-width:0;}
.cash-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;}
.cash-metric{padding:22px;background:var(--cd);border:1px solid var(--bd);border-radius:14px;min-width:0;position:relative;overflow:hidden;}
.cash-metric-head{display:flex;align-items:center;justify-content:space-between;gap:12px;color:var(--mu);font-size:12px;font-weight:500;}
.cash-metric-icon{height:34px;width:34px;border-radius:10px;display:grid;place-items:center;background:var(--c2);flex-shrink:0;font-size:20px;}
.cash-metric-value{display:block;font-family:var(--font-mono);font-size:clamp(19px,2vw,27px);letter-spacing:-1px;margin:15px 0 8px;overflow-wrap:anywhere;}
.cash-metric-value small{font-size:15px;color:var(--mu);font-weight:400;}
.cash-metric p{font-size:11px;color:var(--mu);margin:0;line-height:1.6;}
.cashflow .income,.cashflow .is-positive{color:var(--cash-income);}
.cashflow .expense,.cashflow .is-negative{color:var(--cash-expense);}
.cashflow .is-neutral,.cashflow .neutral{color:var(--tx);}
.cash-overview{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:18px;}
.cash-chart-panel,.cash-month-detail,.cash-ledger{background:var(--cd);border:1px solid var(--bd);border-radius:14px;min-width:0;}
.cash-chart-panel{padding:24px;}
.cash-panel-head{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap;}
.cash-eyebrow{display:block;color:var(--mu);font-size:10px;letter-spacing:1.3px;font-weight:600;}
.cashflow h3{margin:7px 0 0;font-size:17px;font-weight:600;letter-spacing:-.3px;text-transform:none;}
.cash-legend{display:flex;gap:16px;font-size:11px;color:var(--mu);}
.cash-legend span,.cash-detail-values dt{display:flex;align-items:center;gap:7px;}
.cash-dot{display:inline-block;width:7px;height:7px;border-radius:50%;flex-shrink:0;}
.cash-dot.income{background:var(--cash-income);}.cash-dot.expense{background:var(--cash-expense);}
.cash-chart-scale{display:flex;justify-content:space-between;gap:12px;margin:26px 0 10px;font-size:10px;color:var(--mu);}
.cash-chart-scroll{overflow-x:auto;}
.cash-chart{display:grid;grid-template-columns:repeat(12,minmax(36px,1fr));gap:6px;min-width:510px;position:relative;}
.cash-bar-month{border:1px solid transparent;background:transparent;padding:8px 4px;border-radius:8px;display:flex;flex-direction:column;align-items:stretch;gap:14px;cursor:pointer;transition:background .15s,border-color .15s;color:var(--mu);}
.cash-bar-pair{height:155px;display:flex;gap:4px;justify-content:center;align-items:flex-end;border-bottom:1px solid var(--bd);background:repeating-linear-gradient(to top,transparent 0,transparent calc(25% - 1px),var(--bd) calc(25% - 1px),var(--bd) 25%);}
.cash-bar{display:block;width:13px;border-radius:4px 4px 0 0;opacity:.75;}
.cash-bar.income{background:var(--cash-income);}.cash-bar.expense{background:var(--cash-expense);}
.cash-bar-label{font-size:11px;font-family:var(--font-mono);text-align:center;}
.cash-bar-month:hover,.cash-bar-month.is-selected{background:var(--c2);border-color:var(--bd);color:var(--tx);}
.cash-bar-month.is-selected .cash-bar{opacity:1;}.cash-bar-month.is-selected .cash-bar-label{color:var(--ac);}
.cash-bar-month:focus-visible,.cash-table button:focus-visible,.cash-month-action:focus-visible{outline:2px solid var(--ac);outline-offset:3px;}
.cash-chart-foot{display:flex;justify-content:space-between;gap:12px;font-size:10px;color:var(--mu);line-height:1.6;margin-top:18px;flex-wrap:wrap;}
.cashflow aside.cash-month-detail{position:static;top:auto;width:auto;height:auto;overflow:visible;padding:24px;display:block;flex:none;border:1px solid var(--bd);background:linear-gradient(145deg,var(--c2),var(--cd));}
.cash-detail-top{display:flex;align-items:center;justify-content:space-between;gap:8px;}
.cash-month-tag,.cash-report-badge{font-size:10px;font-family:var(--font-mono);color:var(--mu);border:1px solid var(--bd);border-radius:6px;padding:5px 8px;}
.cash-month-detail h3{margin:18px 0 8px;font-size:24px;}
.cash-detail-total{font-family:var(--font-mono);font-size:27px;font-weight:600;letter-spacing:-1px;overflow-wrap:anywhere;}
.cash-detail-caption{font-size:11px;color:var(--mu);margin:7px 0 23px;}
.cash-detail-values{margin:0;}.cash-detail-values div{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 0;border-top:1px solid var(--bd);font-size:11px;}.cash-detail-values dt{color:var(--mu);}.cash-detail-values dd{margin:0;font-family:var(--font-mono);font-weight:500;text-align:right;}
.cash-month-action{display:flex;align-items:center;justify-content:space-between;width:100%;font-size:11px;margin-top:17px;background:var(--c2);color:var(--tx);}
.cash-ledger .cash-panel-head{padding:22px 24px;}.cash-table-scroll{overflow-x:auto;}
.cash-table{width:100%;min-width:610px;border-collapse:collapse;font-size:12px;}
.cash-table th,.cash-table td{padding:14px 24px;border-top:1px solid var(--bd);}.cash-table thead th{text-align:right;font-size:10px;font-weight:600;letter-spacing:.5px;color:var(--mu);background:var(--th);}.cash-table th:first-child{text-align:left;}
.cash-table tbody th{font-weight:500;}.cash-table td{text-align:right;font-family:var(--font-mono);font-size:11px;white-space:nowrap;}
.cash-table th button{padding:0;border:0;background:none;box-shadow:none;color:var(--tx);font-size:12px;}.cash-month-full{margin-left:10px;color:var(--mu);font-size:10px;font-weight:400;}
.cash-table tbody tr{cursor:default;}.cash-table tbody tr.is-selected{background:var(--c2);}.cash-table tbody tr.is-selected th{box-shadow:inset 3px 0 var(--ac);}
.cash-table-value{font-weight:600;}.cash-table tfoot th,.cash-table tfoot td{background:var(--c2);font-weight:600;padding-top:18px;padding-bottom:18px;}
.cash-report-note{color:var(--mu);font-size:10px;margin:15px 24px;line-height:1.6;}
.cash-visually-hidden{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;}
@media(max-width:1180px){.cash-metrics{grid-template-columns:repeat(2,minmax(0,1fr));}.cash-overview{grid-template-columns:minmax(0,1fr);}.cash-detail-values{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;}.cash-detail-values div{flex-direction:column;align-items:flex-start;gap:9px;}.cash-month-action{width:auto;gap:35px;}}
@media(max-width:620px){.cash-metrics{grid-template-columns:minmax(0,1fr);}.cash-metric,.cash-chart-panel,.cashflow aside.cash-month-detail{padding:18px;}.cash-detail-values{grid-template-columns:minmax(0,1fr);gap:0;}.cash-detail-values div{flex-direction:row;}.cash-panel-head{align-items:flex-start;}.cash-table th,.cash-table td{padding:14px;}.cash-month-full{display:none;}}
