/* Família + painel pessoal (plano Pessoa Física) — 2026-11-11 */
.fm-intro{margin:0 0 14px;color:var(--texto2,#475569);font-size:.93rem;line-height:1.5;max-width:860px}
.fm-kpis{margin-bottom:14px}
.fm-grid,.fm-casa{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:14px}
.fm-cc-h{display:flex;align-items:center;gap:10px}
.fm-cc-h small{display:block;color:var(--texto2,#64748b);font-size:.8rem}
.fm-cc-h .sp,.fm-li .sp{flex:1}
.fm-ic{width:38px;height:38px;border-radius:11px;display:grid;place-items:center;background:var(--esmeralda-50,#ecfdf5);color:var(--esmeralda-600,#059669);flex:none}
.fm-ic .i{width:20px;height:20px}
.fm-ic.neg{background:#fef2f2;color:#dc2626}.fm-ic.pos{background:#ecfdf5;color:#059669}
.fm-av{width:40px;height:40px;border-radius:50%;display:grid;place-items:center;background:#fef3c7;color:#b45309;font-weight:800;font-size:1.1rem;flex:none}
.fm-cc-v{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:12px 0 8px}
.fm-cc-v div{background:var(--bg,#f8fafc);border-radius:10px;padding:8px 10px;min-width:0}
.fm-cc-v small{display:block;font-size:.72rem;color:var(--texto2,#64748b)}
.fm-cc-v b{font-size:.92rem;display:block;overflow-wrap:anywhere;line-height:1.25}
.fm-spark{display:flex;align-items:flex-end;gap:3px;height:46px;margin-top:6px}
.fm-spark i{flex:1;background:#cbd5e1;border-radius:3px 3px 0 0;min-height:3px}
.fm-spark i.on{background:var(--esmeralda,#10b981)}
.fm-spark-r{display:flex;justify-content:space-between;font-size:.7rem;color:var(--texto2,#94a3b8)}
.fm-alerta{border-color:#fca5a5!important;box-shadow:0 0 0 1px #fecaca inset}
.fm-ok{opacity:.75}
.fm-aviso{display:flex;gap:6px;align-items:flex-start;margin:8px 0 0;padding:8px 10px;border-radius:10px;background:#fef2f2;color:#b91c1c;font-size:.85rem}
.fm-aviso.fm-info{background:#eff6ff;color:#1d4ed8}
.fm-aviso .i{width:16px;height:16px;flex:none;margin-top:2px}
.fm-det{margin-bottom:14px}
.fm-chips{display:flex;flex-wrap:wrap;gap:8px}
.fm-chip{display:flex;align-items:center;gap:8px;border:1px solid var(--linha,#e2e8f0);border-radius:12px;padding:8px 12px;cursor:pointer;background:var(--card,#fff)}
.fm-chip small{display:block;font-size:.75rem;color:var(--texto2,#64748b)}
.fm-chip .i{width:18px;height:18px}
.fm-cofre{display:flex;align-items:baseline;justify-content:space-between;margin:12px 0 6px;padding:10px 12px;border-radius:12px;background:#fffbeb}
.fm-cofre b{font-size:1.4rem;color:#b45309}
.fm-movs{list-style:none;margin:10px 0 0;padding:0}
.fm-movs li{display:flex;gap:10px;align-items:center;padding:7px 0;border-bottom:1px solid var(--linha,#eef2f7);font-size:.88rem}
.fm-movs li>span:nth-child(2){flex:1;min-width:0}
.fm-movs li>span:first-child{color:var(--texto2,#64748b);white-space:nowrap}
.fm-rm{margin-top:10px;text-align:right}
.fm-itens{list-style:none;margin:10px 0 0;padding:0}
.fm-itens li{display:flex;align-items:center;gap:8px;padding:8px 0;border-bottom:1px solid var(--linha,#eef2f7);flex-wrap:wrap}
.fm-itens li>div:first-child{flex:1;min-width:140px}
.fm-itens small{display:block;color:var(--texto2,#64748b);font-size:.78rem}
.fm-acts{display:flex;gap:2px}
.fm-sug{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px}
.fm-prox{margin-bottom:14px}
.fm-li{display:flex;align-items:center;gap:10px;padding:8px 0;border-bottom:1px solid var(--linha,#eef2f7)}
.fm-li small{display:block;color:var(--texto2,#64748b);font-size:.78rem}
.fm-li .fm-ic{width:32px;height:32px}
.fm-tit-in{border:0;font-weight:700;padding:0;background:none;width:auto;min-width:60px;max-width:240px;font-size:inherit;color:inherit}
.fm-tabs{margin-bottom:12px}
.fm-casas{display:grid;grid-template-columns:repeat(auto-fill,minmax(54px,1fr));gap:6px;margin:12px 0 6px}
.fm-casas button{width:100%;border:1px solid var(--linha,#e2e8f0);background:var(--card,#fff);border-radius:10px;padding:6px 2px;font-weight:700;font-size:.85rem;cursor:pointer;color:inherit}
.fm-casas button small{display:block;font-weight:500;font-size:.65rem;color:var(--texto2,#94a3b8)}
.fm-casas button.on{background:var(--esmeralda,#10b981);border-color:var(--esmeralda,#10b981);color:#fff}
.fm-casas button.on small{color:#d1fae5}
.fm-casas button.agora{box-shadow:0 0 0 2px #f59e0b}
.fm-des{margin-bottom:14px}
.fm-des-c h3{display:flex;gap:8px;align-items:center}
.fm-rel{overflow-x:auto}
/* painel pessoal */
.pd-hero{display:grid;grid-template-columns:1.1fr 2fr;gap:14px;margin-bottom:14px}
.pd-saldo{background:linear-gradient(135deg,#065f46,#10b981);color:#fff;border-radius:18px;padding:18px 20px;display:flex;flex-direction:column;gap:6px}
.pd-saldo small{opacity:.85;font-size:.82rem}
.pd-saldo .v{font-size:2rem;font-weight:800;letter-spacing:-.5px}
.pd-saldo .prev{background:rgba(255,255,255,.14);border-radius:12px;padding:8px 12px;font-size:.86rem}
.pd-saldo .prev b{font-size:1rem}
.pd-saldo a{color:#fff}
.pd-num{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}
.pd-num a,.pd-num div.pd-n{display:block;background:var(--card,#fff);border:1px solid var(--linha,#e2e8f0);border-radius:14px;padding:12px 14px;text-decoration:none;color:inherit;min-width:0}
.pd-num small{display:block;color:var(--texto2,#64748b);font-size:.78rem}
.pd-num b{display:block;font-size:1.15rem;margin:2px 0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.pd-num span{font-size:.75rem;color:var(--texto2,#64748b)}
.pd-atalhos{display:flex;gap:8px;overflow-x:auto;scrollbar-width:none;margin:0 0 14px;padding-bottom:2px}
.pd-atalhos::-webkit-scrollbar{display:none}
.pd-atalhos a,.pd-atalhos button{display:flex;flex-direction:column;align-items:center;gap:6px;min-width:84px;padding:10px 8px;border-radius:14px;border:1px solid var(--linha,#e2e8f0);background:var(--card,#fff);text-decoration:none;color:inherit;font-size:.75rem;font-weight:600;text-align:center;cursor:pointer}
.pd-atalhos .i{width:22px;height:22px;color:var(--esmeralda-600,#059669)}
.pd-lista{list-style:none;margin:0;padding:0}
.pd-lista li{display:flex;align-items:center;gap:10px;padding:9px 0;border-bottom:1px solid var(--linha,#eef2f7)}
.pd-lista li:last-child{border-bottom:0}
.pd-lista .tx{flex:1;min-width:0}
.pd-lista .tx b{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:.92rem}
.pd-lista .tx small{color:var(--texto2,#64748b);font-size:.78rem}
.pd-lista .fm-ic{width:34px;height:34px;border-radius:10px}
.pd-lista .fm-ic .i{width:18px;height:18px}
.pd-al li .fm-ic{background:#eff6ff;color:#1d4ed8}
.pd-al li.aviso .fm-ic{background:#fffbeb;color:#b45309}
.pd-al li.erro .fm-ic{background:#fef2f2;color:#dc2626}
.pd-al li a{color:inherit;text-decoration:none}
.pd-cat{margin:9px 0}
.pd-cat .row{display:flex;gap:8px;align-items:center;font-size:.88rem}
.pd-cat .row .sp{flex:1}
.pd-bar{height:8px;border-radius:6px;background:var(--bg,#f1f5f9);overflow:hidden;margin-top:5px}
.pd-bar i{display:block;height:100%;border-radius:6px}
.pd-g{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-bottom:14px}
.pd-g3{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-bottom:14px}
.pd-g>.card,.pd-g3>.card{margin:0}
@media (max-width:1100px){.pd-g3{grid-template-columns:1fr 1fr}}
@media (max-width:860px){.pd-hero{grid-template-columns:1fr}.pd-num{grid-template-columns:1fr 1fr}.pd-g,.pd-g3{grid-template-columns:1fr}.fm-grid,.fm-casa{grid-template-columns:1fr}}
@media (max-width:420px){.pd-saldo .v{font-size:1.7rem}.fm-cc-v b{font-size:.88rem}.pd-num b{font-size:1.02rem}}
@media print{.fm-abas,.pd-atalhos{display:none}}
.vd-preco{margin-left:auto}.vd-preco input{padding:5px 8px}
.vd-compra{margin-top:14px;padding:12px;border:1px dashed var(--linha,#cbd5e1);border-radius:12px;display:flex;flex-direction:column;gap:8px}

/* qa-pf 2026-11-11: atalhos do painel nao encolhem (texto "comprovante" nao parte) */
.pd-atalhos a,.pd-atalhos button{flex:0 0 auto}
/* qa-pf 2026-11-11 (2): itens "vence nos proximos dias" sem espremer valor e prazo */
@media (max-width:600px){
.fm-li{flex-wrap:wrap;row-gap:4px}
.fm-li>div{flex:1 1 150px;min-width:0}
.fm-li>b,.fm-li .badge{white-space:nowrap}
}
/* qa-pf 2026-11-11 (3): valores das caixinhas nao partem "R$" | valor; botoes do emprestimo quebram linha */
.fm-cc-v b{white-space:nowrap;font-size:clamp(.78rem,3.6vw,.95rem)}
.fm-cc-v>div{min-width:0}
.row:has(> a[href^="https://wa.me"]){flex-wrap:wrap;row-gap:8px}
.row.mt:has(> a[href^="https://wa.me"]){flex-wrap:wrap!important;overflow:visible!important}
