.fin-inv { display: flex; flex-direction: column; gap: var(--sp-4); }
.fin-inv-visao { align-self: flex-start; }
.fin-inv-resumo { display: grid; grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); gap: var(--sp-4); }
.fin-inv-resumo-titulo { font-size: var(--fs-xs); color: var(--text-3); text-transform: uppercase; letter-spacing: .06em; margin-bottom: var(--sp-3); }
.fin-inv-resumo-kpis { display: grid; grid-template-columns: repeat(3, 1fr); gap: var(--sp-3); }
.fin-inv-valor { font-size: var(--fs-2xl); margin-top: var(--sp-1); font-weight: 600; white-space: nowrap; }
.fin-inv-pct { font-size: var(--fs-sm); margin-left: var(--sp-2); font-weight: 500; }
.fin-inv-layout { display: grid; grid-template-columns: minmax(0, 3fr) minmax(0, 2fr); gap: var(--sp-4); align-items: start; }
.fin-inv-preco { margin-left: var(--sp-3); font-weight: 600; }
.fin-inv-busca { position: relative; margin-bottom: var(--sp-3); }
.fin-inv-busca .input { width: 100%; }
.fin-inv-busca-lista { position: absolute; top: calc(100% + 4px); left: 0; right: 0; z-index: var(--z-popover); max-height: 480px; overflow-y: auto; background: var(--elevated); border: 1px solid var(--border); border-radius: var(--radius-lg); box-shadow: var(--shadow-pop); padding: var(--sp-1); }
.fin-inv-busca-secao + .fin-inv-busca-secao { border-top: 1px solid var(--border); margin-top: var(--sp-1); padding-top: var(--sp-1); }
.fin-inv-busca-secao-titulo { padding: var(--sp-2) var(--sp-3) var(--sp-1); font-size: var(--fs-xs); color: var(--text-3); text-transform: uppercase; letter-spacing: .06em; }
.fin-inv-busca-msg { padding: var(--sp-2) var(--sp-3); font-size: var(--fs-sm); }
.fin-inv-busca-erro { color: var(--danger); }
.fin-inv-item { display: grid; grid-template-columns: 28px minmax(0, 1fr) auto; align-items: center; gap: var(--sp-3); width: 100%; padding: 6px var(--sp-3); border: 0; border-radius: var(--radius-md); background: transparent; color: inherit; text-align: left; cursor: pointer; font: inherit; }
.fin-inv-item:hover, .fin-inv-item.is-active { background: var(--hover); }
.fin-inv-item:focus-visible { outline: 2px solid var(--accent); outline-offset: -2px; }
.fin-inv-logo { width: 28px; height: 28px; border-radius: var(--radius-full); object-fit: contain; background: var(--surface-2); }
.fin-inv-logo-letra { display: inline-flex; align-items: center; justify-content: center; font-size: var(--fs-sm); font-weight: 600; color: var(--text-2); }
.fin-inv-item-id { display: flex; flex-direction: column; min-width: 0; gap: 2px; }
.fin-inv-item-topo { display: flex; align-items: center; gap: var(--sp-2); }
.fin-inv-tipo { font-size: var(--fs-2xs); color: var(--text-3); border: 1px solid var(--border); border-radius: var(--radius-full); padding: 0 6px; line-height: 16px; white-space: nowrap; }
.fin-inv-item-nome { font-size: var(--fs-sm); color: var(--text-3); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.fin-inv-item-cotacao { display: flex; flex-direction: column; align-items: flex-end; gap: 2px; white-space: nowrap; }
.fin-inv-item-preco { font-size: var(--fs-md); }
.fin-inv-item-var { font-size: var(--fs-sm); }
.fin-inv-abas { display: flex; flex-wrap: wrap; width: fit-content; max-width: 100%; margin-bottom: var(--sp-3); }
.fin-inv-secao + .fin-inv-secao { margin-top: var(--sp-4); }
.fin-inv-secao-titulo { font-size: var(--fs-xs); color: var(--text-3); text-transform: uppercase; letter-spacing: .06em; margin-bottom: var(--sp-2); }
.fin-inv-grade { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 var(--sp-4); }
.fin-inv-grade .fin-inv-item { border-bottom: 1px solid var(--border); border-radius: 0; }
.fin-inv-nota { margin-top: var(--sp-3); font-size: var(--fs-xs); color: var(--text-3); }
.fin-inv-media-fora { margin-top: var(--sp-2); font-size: var(--fs-sm); color: var(--accent); }
.fin-inv-grafico-area { position: relative; }
.fin-inv-grafico-tipo { margin-bottom: var(--sp-2); }
.fin-inv-grafico { width: 100%; height: 420px; }
.fin-inv-atribuicao { margin-top: var(--sp-2); font-size: var(--fs-xs); color: var(--text-3); }
.fin-inv-atribuicao a { color: var(--accent); }
.fin-inv-tabela .fin-inv-ativo-btn { display: flex; flex-direction: column; align-items: flex-start; gap: 2px; background: none; border: 0; padding: 0; color: inherit; cursor: pointer; text-align: left; }
.fin-inv-tabela .fin-inv-ativo-btn:disabled { cursor: default; opacity: .7; }
.fin-inv-linha.is-active { background: var(--accent-bg); }
.fin-inv-spark { display: block; }
.fin-inv-spark-up { stroke: var(--success); }
.fin-inv-spark-down { stroke: var(--danger); }
.fin-inv-resultados { display: flex; flex-direction: column; gap: var(--sp-2); margin-top: var(--sp-3); }
.fin-inv-res-linha { display: flex; justify-content: space-between; gap: var(--sp-3); padding: var(--sp-2) 0; border-bottom: 1px solid var(--border); font-size: var(--fs-md); }
.fin-inv-historico { margin-top: var(--sp-5); padding-top: var(--sp-4); border-top: 1px solid var(--border); }
.fin-inv-historico-form { display: flex; gap: var(--sp-3); align-items: flex-end; flex-wrap: wrap; margin-top: var(--sp-2); }
.fin-inv-corretoras { display: grid; grid-template-columns: repeat(auto-fill, minmax(240px, 1fr)); gap: var(--sp-3); margin-top: var(--sp-3); }
.fin-inv-corretora { display: flex; flex-direction: column; gap: var(--sp-2); padding: var(--sp-3); border: 1px solid var(--border); border-radius: var(--radius-lg); background: var(--surface); }
.fin-inv-corretora-desc { flex: 1; }
.fin-inv-corretora-pendente { display: flex; align-items: center; gap: var(--sp-2); flex-wrap: wrap; }
@media (max-width: 1023px) { .fin-inv-layout { grid-template-columns: minmax(0, 1fr); } }
@media (max-width: 1100px) { .fin-inv-resumo { grid-template-columns: minmax(0, 1fr); } }
@media (max-width: 767px) { .fin-inv-grade { grid-template-columns: minmax(0, 1fr); } }
@media (max-width: 640px) {
  .fin-inv-resumo-kpis { grid-template-columns: minmax(0, 1fr); gap: var(--sp-2); }
  .fin-inv-resumo-kpis > div { display: flex; justify-content: space-between; align-items: baseline; gap: var(--sp-3); }
  .fin-inv-resumo-kpis .fin-inv-valor { margin-top: 0; }
  .fin-inv-grafico { height: 300px; }
  .fin-inv-valor { font-size: var(--fs-xl); }
}
.fin-inv-grafico-tipo { display: inline-flex; width: auto; }
.fin-inv-tabela .cell-num { white-space: nowrap; }
.fin-inv-tabela .cell-num .cell-sub { display: block; }
.fin-inv-tabela .fin-inv-ativo-btn .cell-sub { white-space: nowrap; }
