/* =============================================
   FINANCEIRO v2
   ============================================= */
.fin-cards { display:grid; grid-template-columns:repeat(auto-fit,minmax(200px,1fr)); gap:1rem; margin-bottom:2rem; }
.fin-card { text-align:center; padding:1.25rem; background:var(--bg-card); border:1px solid var(--border); border-radius:12px; }
.fin-card .amount { font-size:1.4rem; font-weight:700; margin:.5rem 0; }
.fin-card .sub { font-size:.75rem; color:var(--text-secondary); }
/* Gauge */
.gauge-wrap { display:flex; align-items:center; justify-content:center; gap:2rem; padding:1.5rem; }
.gauge { position:relative; width:180px; height:180px; }
.gauge svg { width:100%; height:100%; transform:rotate(-90deg); }
.gauge circle { fill:none; stroke-width:12; stroke-linecap:round; }
.gauge .track { stroke:var(--border); }
.gauge .fill { stroke:var(--orange); transition:stroke-dashoffset .8s ease; }
.gauge .fill.complete { stroke:var(--green); }
.gauge-label { position:absolute; inset:0; display:flex; flex-direction:column; align-items:center; justify-content:center; }
.gauge-label .num { font-size:2.2rem; font-weight:800; }
.gauge-label .den { font-size:.8rem; color:var(--text-secondary); }
.gauge-info { text-align:left; }
.gauge-info .stat { margin-bottom:1rem; }
.gauge-info .stat-label { font-size:.7rem; text-transform:uppercase; letter-spacing:.05em; color:var(--text-secondary); }
.gauge-info .stat-val { font-size:1.3rem; font-weight:700; }
/* Revenue Chart */
.rev-chart { display:flex; align-items:flex-end; gap:.75rem; height:200px; padding:1rem 0; }
.rev-bar-wrap { flex:1; display:flex; flex-direction:column; align-items:center; gap:.4rem; height:100%; justify-content:flex-end; }
.rev-bar { width:100%; border-radius:6px 6px 0 0; background:var(--orange); min-height:4px; transition:height .6s ease; position:relative; cursor:default; }
.rev-bar:hover { opacity:.85; }
.rev-bar .tooltip { position:absolute; bottom:calc(100% + 6px); left:50%; transform:translateX(-50%); background:var(--bg-secondary); border:1px solid var(--border); border-radius:6px; padding:.35rem .6rem; font-size:.7rem; white-space:nowrap; opacity:0; transition:opacity .2s; pointer-events:none; z-index:10; }
.rev-bar:hover .tooltip { opacity:1; }
.rev-bar-label { font-size:.7rem; color:var(--text-secondary); }
.rev-bar-val { font-size:.65rem; color:var(--text-muted); }
/* Projection */
.proj-cards { display:grid; grid-template-columns:repeat(auto-fit,minmax(180px,1fr)); gap:1rem; }
.proj-card { background:var(--bg-card); border:1px solid var(--border); border-radius:10px; padding:1rem; text-align:center; }
.proj-card .proj-val { font-size:1.3rem; font-weight:700; margin:.4rem 0; }
.proj-card .proj-label { font-size:.7rem; color:var(--text-secondary); text-transform:uppercase; }
/* Month Navigator */
.month-nav { display:flex; align-items:center; justify-content:center; gap:.5rem; margin-bottom:2rem; user-select:none; }
.month-nav .arrow { background:none; border:1px solid var(--border); color:var(--text-primary); width:36px; height:36px; border-radius:8px; cursor:pointer; font-size:1rem; display:flex; align-items:center; justify-content:center; transition:all .2s; }
.month-nav .arrow:hover { border-color:var(--orange); color:var(--orange); }
.month-nav .month-label { font-size:1.2rem; font-weight:700; cursor:pointer; padding:.4rem .8rem; border-radius:8px; transition:all .2s; position:relative; }
.month-nav .month-label:hover { background:var(--bg-card-hover); color:var(--orange); }
.month-nav .year-label { font-size:1.2rem; font-weight:300; color:var(--text-secondary); cursor:pointer; padding:.4rem .6rem; border-radius:8px; transition:all .2s; }
.month-nav .year-label:hover { background:var(--bg-card-hover); color:var(--orange); }
/* Picker dropdowns */
.picker-overlay { display:none; position:fixed; inset:0; z-index:150; }
.picker-overlay.open { display:block; }
.picker-popup { position:absolute; background:var(--bg-secondary); border:1px solid var(--border); border-radius:12px; padding:1rem; box-shadow:var(--shadow); z-index:151; min-width:200px; }
.picker-popup .picker-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:.4rem; }
.picker-popup .picker-item { padding:.5rem; text-align:center; border-radius:8px; cursor:pointer; font-size:.85rem; transition:all .15s; border:1px solid transparent; }
.picker-popup .picker-item:hover { background:var(--bg-card-hover); border-color:var(--border-hover); }
.picker-popup .picker-item.active { background:rgba(247,148,29,0.15); color:var(--orange); border-color:var(--orange); font-weight:600; }
.picker-popup .picker-item.disabled { opacity:.3; pointer-events:none; }
table { width:100%; border-collapse:collapse; font-size:.8rem; }
th { text-align:left; padding:.6rem .75rem; border-bottom:2px solid var(--border); color:var(--text-secondary); font-weight:600; font-size:.7rem; text-transform:uppercase; }
td { padding:.6rem .75rem; border-bottom:1px solid var(--border); }
tr:hover td { background:var(--bg-card-hover); }
.status-paid { color:var(--green); }
.status-partial { color:var(--yellow); }
.status-pending { color:var(--red); }

