:root{
  --bg:#0c1117; --bg2:#0f1620; --card:#111827; --muted:#9aa4b2; --text:#e6edf3; --brand:#60a5fa;
  --ok:#22c55e; --warn:#eab308; --bad:#ef4444; --border:#1f2937;
  --radius:14px;
}

*{box-sizing:border-box}
html,body{
  margin:0; padding:0; background:var(--bg); color:var(--text);
  font:14px/1.45 system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,'Helvetica Neue',Arial;
}
.muted{color:var(--muted)}

/* ===== Topbar / Container ================================================== */
.topbar{position:sticky;top:0;z-index:10;background:linear-gradient(180deg,var(--bg2),transparent)}
.topbar .bar{display:flex;align-items:center;justify-content:space-between;padding:14px 18px;border-bottom:1px solid var(--border)}
.brand{display:flex;gap:10px;align-items:center}
.container{max-width:1200px;margin:20px auto;padding:0 16px}

/* ===== KPIs (suporta as duas classes: .kpis.grid-5 e .kpi-grid) ============ */
.kpis.grid-5,
.kpi-grid{
  display:grid;
  grid-template-columns:repeat(5,minmax(180px,1fr));
  gap:12px; margin-bottom:18px;
}
.kpi{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);padding:14px}
.kpi-title{font-weight:600;color:var(--muted);margin-bottom:6px}
.kpi-value{font-size:20px;font-weight:700}
.kpi-sub{font-size:12px;color:var(--muted)}

/* ===== Cards ================================================================ */
.card{
  background:var(--card);
  border:1px solid var(--border);
  border-radius:var(--radius);
  margin-bottom:16px;
  overflow:hidden;
}

/* Alinha o título do card com as colunas da tabela (padding = 10px) */
.section-title{
  padding:10px;
  font-weight:600;
  color:var(--muted);
  border-bottom:1px solid var(--border);
}

/* Nota/rodapé do card com mesma régua de alinhamento */
.footnote{
  padding:8px 10px;
  font-size:12px;
  color:var(--muted);
  border-top:1px solid var(--border);
}

/* ===== Tabelas ============================================================= */
.table-wrap{width:100%;overflow:auto}
table{width:100%;border-collapse:separate;border-spacing:0}

/* Cabeçalho com mesma régua (10px) + sticky */
thead th{
  position:sticky; top:0;
  background:var(--bg2);
  color:var(--muted);
  text-align:left;
  font-weight:600;
  padding:10px;
  border-bottom:1px solid var(--border)
}

/* Alinhamento à direita para títulos numéricos */
thead th.tr{ text-align:right }

/* Células com a mesma régua dos cabeçalhos (10px) */
tbody td{
  padding:10px;
  border-bottom:1px solid var(--border);
  white-space:nowrap
}

/* Alinhamento à direita para colunas numéricas */
tbody td.tr{ text-align:right }

tbody tr:hover{background:#0d1420}

/* ===== Badges / Cores / Utilitários ======================================= */
.badge{display:inline-block;padding:2px 8px;border-radius:999px;border:1px solid var(--border);font-size:12px}
.badge.long{border-color:var(--ok);color:var(--ok)}
.badge.short{border-color:var(--bad);color:var(--bad)}
.badge.market{color:var(--brand);border-color:var(--brand)}

.pos{color:var(--ok);font-weight:600}
.neg{color:var(--bad);font-weight:600}
.zero{color:var(--muted)}

.delta{font-weight:600}
.delta.pos{color:var(--ok)}
.delta.neg{color:var(--bad)}
.num{font-variant-numeric:tabular-nums}

/* Estratégias (quando em lista simples) */
.strat{display:flex;align-items:center;gap:12px;padding:8px 6px;border-bottom:1px dashed var(--border)}
.strat:last-child{border-bottom:0}

/* Pequenos componentes que podem ser usados futuramente */
.spark{height:36px;width:160px}
.progress{flex:1;height:8px;background:#0b1320;border-radius:999px;overflow:hidden;border:1px solid var(--border)}
.progress > i{display:block;height:100%;background:var(--brand)}

@media (max-width:1024px){
  .kpis.grid-5,.kpi-grid{grid-template-columns:repeat(2,1fr)}
}
/* === Live Ticker (mínimo) === */
.cs-ticker{display:flex;gap:.75rem;white-space:nowrap;overflow-x:auto;border-top:1px solid #e5e7eb;padding:.5rem .25rem;font:500 14px/1.4 system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,Cantarell,Noto Sans,sans-serif}
.cs-quote{display:flex;gap:.35rem;align-items:center}
.cs-quote .sym{opacity:.7}
.cs-quote .px{font-variant-numeric:tabular-nums}
.cs-quote.up .px{color:#059669}
.cs-quote.down .px{color:#dc2626}

/* Utilitário para texto multi-linha no card do Agente */
.prewrap{white-space:pre-wrap; word-wrap:break-word}
