.busca { display: flex; gap: 8px; align-items: flex-end; margin-bottom: 10px; flex-wrap: wrap; }
.busca label { flex: 1 1 280px; font-size: 14px; font-weight: 600; display: flex; flex-direction: column; gap: 2px; }
.cartao { border: 1px solid var(--line); border-radius: 12px; background: var(--tile); padding: 12px 14px; margin: 10px 0; }
.cartao h3 { margin: 0 0 4px; font-size: 20px; }
.cartao .linha { display: flex; justify-content: space-between; gap: 8px; align-items: center; flex-wrap: wrap; }
.tabela { width: 100%; border-collapse: collapse; font-variant-numeric: tabular-nums; }
.tabela th, .tabela td { text-align: left; padding: 6px 8px; border-bottom: 1px solid var(--line); font-size: 15px; }
.tabela td.num, .tabela th.num { text-align: right; }
.botoes { display: flex; gap: 8px; flex-wrap: wrap; margin-top: 8px; }
.passos { display: flex; gap: 4px; flex-wrap: wrap; margin: 8px 0; }
.passo { padding: 4px 10px; border-radius: 999px; border: 1px solid var(--line); font-size: 14px; }
.passo.feito { background: var(--tile); font-weight: 600; } .passo.atual { border-width: 2px; font-weight: 700; }

/* conta e perfil da sessão no topo; aviso de perfil no Novo orçamento */
.sessao-info { font-weight: 600; margin: 0 8px; }
.aviso-perfil { border: 2px solid currentColor; border-radius: 8px; padding: 10px 12px; font-weight: 600; margin: 8px 0; }
