.forecast-head{display:flex;align-items:end;justify-content:space-between;gap:18px;margin-bottom:18px}.forecast-head span{font-size:11px;font-weight:900;letter-spacing:.12em;color:#b7791f}.forecast-head h1{margin:5px 0}.forecast-head p{margin:0;color:var(--muted)}.forecast-kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:14px}.forecast-kpis article{padding:17px;background:#fff;border:1px solid var(--line);border-radius:15px}.forecast-kpis span,.forecast-kpis strong,.forecast-kpis small{display:block}.forecast-kpis span{color:#64748b;font-size:12px}.forecast-kpis strong{font-size:22px;margin:8px 0}.forecast-kpis small{color:var(--muted)}.forecast-kpis .positive{color:#087f5b}.forecast-kpis .negative{color:#c92a2a}.forecast-main-grid{display:grid;grid-template-columns:1.3fr 1fr;gap:14px}.forecast-legend{display:flex;align-items:center;gap:13px;color:#64748b;font-size:12px}.forecast-legend i{display:inline-block;width:10px;height:10px;border-radius:3px;margin-right:5px}.forecast-legend small{margin-left:auto}.forecast-legend .income,.forecast-bars i.income{background:#e3ae32}.forecast-legend .expense,.forecast-bars i.expense{background:#2d4f7d}.forecast-bars{height:210px;display:grid;grid-template-columns:repeat(8,1fr);align-items:end;gap:8px;padding-top:18px;border-bottom:1px solid var(--line)}.forecast-bars article{text-align:center;min-width:0}.forecast-bar-pair{height:155px;display:flex;align-items:end;justify-content:center;gap:4px}.forecast-bars i{display:block;width:min(18px,38%);border-radius:5px 5px 0 0}.forecast-bars strong,.forecast-bars small{display:block;font-size:10px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.forecast-bars small{color:#64748b;margin-top:3px}.collection-risk{display:flex;justify-content:space-between;gap:12px;padding:12px;border-left:4px solid #e3ae32;border-radius:10px;background:#fffbeb;margin:8px 0}.collection-risk.urgent{border-color:#dc2626;background:#fff1f2}.collection-risk.high{border-color:#f97316;background:#fff7ed}.collection-risk div>*{display:block}.collection-risk small{color:#64748b;margin-top:4px}.collection-risk div:last-child{text-align:right}.collection-risk button{margin-top:7px;border:0;background:#0a1d39;color:#fff;border-radius:8px;padding:7px 9px}.forecast-toolbar{display:grid;grid-template-columns:2fr 1fr 1fr auto;gap:9px;margin:14px 0}.forecast-list{display:grid;gap:8px}.forecast-row{display:grid;grid-template-columns:42px 1fr auto 36px;align-items:center;gap:11px;padding:12px;border:1px solid var(--line);border-radius:12px}.forecast-row.overdue{border-color:#fca5a5;background:#fff7f7}.forecast-kind{width:40px;height:40px;display:grid;place-items:center;border-radius:11px;background:#ecfdf5;color:#087f5b;font-size:22px}.forecast-row.despesa .forecast-kind{background:#fff1f2;color:#c2255c}.forecast-row>div strong,.forecast-row>div small,.forecast-row>div span{display:block}.forecast-row small,.forecast-row span{color:#64748b;font-size:12px;margin-top:3px}.forecast-row>div:nth-child(3){text-align:right}.forecast-row>button{border:0;background:#eef2f7;border-radius:9px;width:34px;height:34px}.forecast-empty{text-align:center;color:var(--muted);padding:28px}.forecast-note{margin-top:12px;padding:11px 13px;border-radius:10px;background:#eff6ff;color:#334155;font-size:12px}.forecast-form .forecast-probability{display:grid;grid-template-columns:1fr auto;align-items:end;gap:10px}.forecast-form output{font-weight:800;padding-bottom:9px}
@media(max-width:950px){.forecast-kpis{grid-template-columns:1fr 1fr}.forecast-main-grid{grid-template-columns:1fr}}
@media(max-width:650px){.forecast-head{align-items:flex-start;display:grid}.forecast-kpis{grid-template-columns:1fr 1fr}.forecast-kpis article{padding:13px}.forecast-kpis strong{font-size:18px}.forecast-toolbar{grid-template-columns:1fr 1fr}.forecast-toolbar input{grid-column:1/-1}.forecast-bars{overflow-x:auto;grid-template-columns:repeat(8,70px)}.forecast-row{grid-template-columns:38px 1fr 34px}.forecast-row>div:nth-child(3){grid-column:2/4;text-align:left}.collection-risk{display:grid}.collection-risk div:last-child{text-align:left}}
