.logo { font-weight:800; color:var(--dourado); letter-spacing:1px; }
.logo span { color:var(--texto); }
.search {
  flex:0 1 280px;
  background:var(--painel); border:1px solid var(--borda);
  color:var(--texto); padding:.45rem .7rem; border-radius:8px;
}
.btn {
  background:var(--painel); border:1px solid var(--borda);
  color:var(--texto); padding:.4rem .8rem; border-radius:8px; cursor:pointer;
}
.btn:hover { border-color:var(--dourado); }
.btn.active { background:var(--dourado); color:var(--preto-puro); border-color:var(--dourado); font-weight:700; }
.spacer { flex:1 1 auto; }

.rail-tabs { display:flex; gap:.3rem; padding:.5rem; border-bottom:1px solid var(--borda); flex-wrap:wrap; }
.rail-tabs .btn { padding:.25rem .5rem; font-size:.78rem; }
.tab-dot { display:inline-block; width:.55rem; height:.55rem; border-radius:50%; margin-right:.3rem; vertical-align:middle; }

/* Abas "Em alta"/"Em baixa": vitrine premium — neon pulsante suave (chama pra dentro, não bloqueia) */
@keyframes pulse-verde {
  0%, 100% { box-shadow: 0 0 3px rgba(46,204,113,.5); }
  50%      { box-shadow: 0 0 11px 1px rgba(46,204,113,.9); }
}
@keyframes pulse-vermelho {
  0%, 100% { box-shadow: 0 0 3px rgba(239,68,68,.5); }
  50%      { box-shadow: 0 0 11px 1px rgba(239,68,68,.9); }
}
#tab-group [data-value="alta"] { color:var(--verde); border-color:var(--verde); animation:pulse-verde 2.2s ease-in-out infinite; }
#tab-group [data-value="baixa"] { color:var(--vermelho); border-color:var(--vermelho); animation:pulse-vermelho 2.2s ease-in-out infinite; }
@media (prefers-reduced-motion: reduce) {
  #tab-group [data-value="alta"], #tab-group [data-value="baixa"] { animation:none; }
}
/* Alertas de preço — botão no rail + modal + toast */
.rail-alerts-btn {
  width:100%; text-align:left; display:flex; align-items:center; gap:.4rem;
  background:var(--preto2); border:0; border-bottom:1px solid var(--borda);
  color:var(--texto); padding:.55rem .7rem; cursor:pointer; font-size:.85rem;
}
.rail-alerts-btn:hover { background:var(--painel); color:var(--dourado); }
.rail-alerts-count { margin-left:auto; font-size:.72rem; color:var(--texto-fraco); background:var(--preto); border:1px solid var(--borda); border-radius:10px; padding:0 .4rem; }

.alerts-modal {
  position:relative; width:min(560px, 92vw); max-height:88vh; overflow-y:auto;
  background:var(--preto2); border:1px solid var(--borda); border-radius:14px;
  padding:1.4rem; color:var(--texto);
}
.alerts-title { margin:0 0 .2rem; font-size:1.3rem; }
.alerts-sub { margin:0 0 1rem; color:var(--texto-fraco); font-size:.84rem; }
.alerts-form { display:flex; flex-wrap:wrap; gap:.5rem; align-items:center; }
.alerts-form input { background:var(--painel); border:1px solid var(--borda); color:var(--texto); border-radius:8px; padding:.45rem .6rem; }
.al-symbol { flex:1 1 120px; text-transform:uppercase; }
.al-price { flex:1 1 130px; }
.al-dir { display:flex; gap:.2rem; }
.al-dir-btn { background:var(--painel); border:1px solid var(--borda); color:var(--texto-fraco); border-radius:8px; padding:.45rem .6rem; cursor:pointer; font-size:.8rem; }
.al-dir-btn[data-dir="above"].on { background:var(--verde); border-color:var(--verde); color:var(--preto-puro); font-weight:700; }
.al-dir-btn[data-dir="below"].on { background:var(--vermelho); border-color:var(--vermelho); color:#fff; font-weight:700; }
.al-add { background:var(--dourado); color:var(--preto-puro); border:0; border-radius:8px; padding:.5rem .8rem; font-weight:700; cursor:pointer; flex:1 1 100%; }
.al-msg { color:var(--vermelho); font-size:.78rem; min-height:1rem; margin:.4rem 0 0; }
.alerts-list { margin:.6rem 0; display:flex; flex-direction:column; gap:.35rem; }
.alerts-empty { color:var(--texto-fraco); font-size:.85rem; text-align:center; padding:.8rem; }
.al-row { display:flex; align-items:center; gap:.5rem; background:var(--painel); border:1px solid var(--borda); border-radius:8px; padding:.45rem .6rem; font-size:.82rem; }
.al-row-sym { font-weight:700; }
.al-row-cond { color:var(--texto-fraco); }
.al-armed { color:var(--dourado); margin-left:auto; font-size:.75rem; }
.al-fired { color:var(--verde); margin-left:auto; font-size:.75rem; }
.al-del { background:transparent; border:0; color:var(--texto-fraco); cursor:pointer; font-size:.9rem; }
.al-del:hover { color:var(--vermelho); }
.alerts-foot { border-top:1px solid var(--borda); padding-top:.7rem; margin-top:.4rem; }
.alerts-cap { color:var(--dourado); font-size:.8rem; margin:0 0 .5rem; }
.al-plans { background:transparent; border:1px solid var(--dourado); color:var(--dourado); border-radius:8px; padding:.45rem .8rem; cursor:pointer; font-size:.82rem; width:100%; }
.al-plans:hover { background:var(--dourado); color:var(--preto-puro); }
.alert-toast {
  position:fixed; bottom:16px; right:16px; z-index:200; cursor:pointer;
  background:var(--preto2); border:1px solid var(--dourado); border-left:4px solid var(--dourado);
  border-radius:10px; padding:.7rem .9rem; color:var(--texto); font-size:.85rem;
  box-shadow:0 8px 24px rgba(0,0,0,.55); max-width:280px;
}
.alert-toast .toast-now { color:var(--texto-fraco); font-size:.78rem; }

.rail-sort { display:flex; gap:.3rem; align-items:center; padding:.4rem .5rem; border-bottom:1px solid var(--borda); flex-wrap:wrap; }
.rail-sort .btn { padding:.25rem .55rem; font-size:.8rem; }
.rail-row {
  display:grid; grid-template-columns:auto 1fr auto auto; gap:.5rem;
  width:100%; text-align:left; align-items:center;
  background:transparent; border:0; border-bottom:1px solid var(--borda);
  color:var(--texto); padding:.5rem .7rem; cursor:pointer;
}
.rail-row:hover { background:var(--painel); }
/* Ativo selecionado no rail (clique ou setas ↑/↓): destaque estilo TradingView */
.rail-row.selected { background:var(--painel); box-shadow:inset 3px 0 0 var(--dourado); }
.rail-row.selected .rail-base { font-weight:700; }
/* Em alta / Em baixa por EMAs: progresso, cadeado premium e vazio */
.rail-trend-prog { padding:.5rem .7rem; font-size:.72rem; color:var(--texto-fraco); display:flex; align-items:center; gap:.4rem; }
.rail-trend-prog::before { content:''; width:12px; height:12px; border:2px solid var(--borda); border-top-color:var(--dourado); border-radius:50%; animation:spin .7s linear infinite; }
@keyframes spin { to { transform:rotate(360deg); } }
.rail-trend-lock { display:block; width:calc(100% - 1rem); margin:.5rem; padding:.5rem; border:1px solid var(--dourado); border-radius:8px;
  background:rgba(201,162,39,.1); color:var(--dourado-claro); font-size:.74rem; font-weight:700; cursor:pointer; text-align:center; }
.rail-trend-lock:hover { background:var(--dourado); color:var(--preto-puro); }
.rail-trend-empty { padding:1rem .7rem; font-size:.76rem; color:var(--texto-fraco); text-align:center; }
/* Cor do nome do ativo pela aba de tendência: vermelho (Em baixa) / verde (Em alta) */
#rail-body.trend-baixa .rail-base { color:var(--vermelho); }
#rail-body.trend-alta .rail-base { color:var(--verde); }
.rail-mark {
  width:.7rem; height:.7rem; border-radius:50%;
  border:1px solid var(--texto-fraco); background:transparent; cursor:pointer;
}
.rail-mark:hover { border-color:var(--dourado); }
.rail-mark[data-list] { border-color:transparent; }
.tag-menu {
  position:absolute; z-index:50; display:flex; gap:.35rem; align-items:center;
  background:var(--painel); border:1px solid var(--borda); border-radius:8px;
  padding:.35rem; box-shadow:0 6px 18px rgba(0,0,0,.55);
}
.tag-menu .tag-opt { width:1.1rem; height:1.1rem; border-radius:50%; border:1px solid var(--borda); cursor:pointer; padding:0; }
.tag-menu .tag-opt:hover { outline:2px solid var(--dourado); }
.tag-menu .tag-none { width:auto; height:auto; border-radius:6px; padding:.15rem .45rem; font-size:.75rem; color:var(--texto-fraco); background:transparent; }
.rail-sym { font-weight:600; min-width:0; display:flex; align-items:center; gap:.35rem; }
.rail-base { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.rail-mult { flex:0 0 auto; font-size:.62rem; font-weight:700; color:var(--texto-fraco); background:var(--preto2); border:1px solid var(--borda); border-radius:4px; padding:0 .25rem; }
.rail-price { color:var(--texto-fraco); font-variant-numeric:tabular-nums; }
.rail-pct { font-variant-numeric:tabular-nums; }
.rail-pct.up { color:var(--verde); }
.rail-pct.down { color:var(--vermelho); }
.rail-pct.flat { color:var(--texto-fraco); }

.ind-menu {
  position:absolute; z-index:60; min-width:170px;
  background:var(--painel); border:1px solid var(--borda); border-radius:8px;
  padding:.3rem; display:flex; flex-direction:column; gap:.1rem;
  box-shadow:0 6px 18px rgba(0,0,0,.55);
}
.ind-item {
  display:flex; align-items:center; gap:.5rem;
  background:transparent; border:0; color:var(--texto); text-align:left;
  padding:.4rem .55rem; border-radius:6px; cursor:pointer; font-size:.85rem; width:100%;
}
.ind-item:hover { background:var(--preto2); }
/* Menu de indicadores avançados (planos pagos): moldura dourada + cabeçalho */
.ind-menu-pro { border-color:var(--dourado); min-width:230px; }
.ind-menu-head { font-size:.68rem; font-weight:700; color:var(--dourado-claro); text-transform:uppercase;
  letter-spacing:.4px; padding:.35rem .55rem .45rem; margin-bottom:.15rem; border-bottom:1px solid var(--borda); }
.ind-menu-pro .ind-item { justify-content:flex-start; }
.ind-lock { margin-left:auto; font-size:.62rem; color:var(--dourado-claro); background:rgba(201,162,39,.12);
  border:1px solid var(--dourado); border-radius:8px; padding:0 .35rem; white-space:nowrap; }
.ind-menu-note { font-size:.7rem; color:var(--texto-fraco); line-height:1.35; padding:.5rem .55rem .3rem;
  margin-top:.2rem; border-top:1px solid var(--borda); }
.ind-menu-note b { color:var(--dourado-claro); }
.ind-upgrade { margin-top:.35rem; width:100%; background:var(--dourado); color:var(--preto-puro); border:0;
  border-radius:6px; padding:.35rem .4rem; font-size:.72rem; font-weight:700; cursor:pointer; }
.ind-upgrade:hover { background:var(--dourado-claro); }
/* Chip de atraso no gráfico (avançado ativo em plano grátis/básico) */
#delay-chip { position:absolute; top:.5rem; left:50%; transform:translateX(-50%); z-index:6;
  display:flex; align-items:center; gap:.5rem; background:rgba(20,16,8,.92); border:1px solid var(--dourado);
  border-radius:20px; padding:.25rem .35rem .25rem .7rem; font-size:.7rem; color:var(--dourado-claro);
  box-shadow:0 4px 14px rgba(0,0,0,.5); }
#delay-chip button { background:var(--dourado); color:var(--preto-puro); border:0; border-radius:14px;
  padding:.18rem .55rem; font-size:.68rem; font-weight:700; cursor:pointer; white-space:nowrap; }
#delay-chip button:hover { background:var(--dourado-claro); }
/* Botãozinho discreto do modo demo (canto inf. direito do gráfico) — visível só no hover */
#demo-btn { position:absolute; right:.5rem; bottom:.5rem; z-index:6; width:22px; height:22px;
  display:flex; align-items:center; justify-content:center; font-size:.78rem; line-height:1;
  background:rgba(20,16,8,.5); border:1px solid var(--borda); border-radius:6px; color:var(--texto-fraco);
  opacity:.18; cursor:pointer; transition:opacity .15s; user-select:none; padding:0; }
#demo-btn:hover { opacity:1; }
/* Controles de escala A (auto) / L (log) — canto inf. direito, acima do demo (estilo TradingView) */
#scale-ctrls { position:absolute; right:.5rem; bottom:2.5rem; z-index:6; display:flex; gap:.25rem; }
.scale-btn { width:22px; height:22px; padding:0; font-size:.72rem; font-weight:700; line-height:1;
  border:1px solid var(--borda); border-radius:5px; background:rgba(20,16,8,.6); color:var(--texto-fraco);
  cursor:pointer; opacity:.45; transition:opacity .15s; }
.scale-btn:hover { opacity:1; }
.scale-btn.on { opacity:1; border-color:var(--dourado); color:var(--dourado-claro); }
#demo-btn.on { opacity:1; border-color:var(--dourado); color:var(--dourado-claro); }
#demo-pass { position:absolute; right:.5rem; bottom:2.4rem; z-index:7;
  background:var(--preto2); border:1px solid var(--dourado); border-radius:8px; padding:.3rem;
  box-shadow:0 4px 14px rgba(0,0,0,.5); }
#demo-pass input { width:120px; background:var(--painel); border:1px solid var(--borda); color:var(--texto);
  border-radius:5px; padding:.25rem .45rem; font-size:.76rem; outline:none; }
#demo-pass input.err { border-color:var(--vermelho); background:rgba(255,91,102,.12); }
/* Toast do atalho interno de teste de plano (Ctrl+Alt+P) */
#tier-toast { position:fixed; bottom:1.2rem; left:50%; transform:translateX(-50%); z-index:9999;
  background:var(--dourado); color:var(--preto-puro); font-weight:700; font-size:.82rem;
  padding:.5rem .9rem; border-radius:20px; box-shadow:0 6px 20px rgba(0,0,0,.5); }
/* Botão de recurso pago (Análises avançadas): destaque dourado */
.btn-pro { border-color:var(--dourado); color:var(--dourado-claro); }
.btn-pro:hover { background:rgba(201,162,39,.12); border-color:var(--dourado-claro); }
.btn-pro.active { background:var(--dourado); color:var(--preto-puro); }
/* Painel de order-flow heatmap (Análises avançadas) */
.main-col { position:relative; }
.hm-panel { position:absolute; top:3rem; right:0; bottom:0; width:250px; z-index:20;
  background:var(--preto); border-left:1px solid var(--dourado); display:flex; flex-direction:column;
  box-shadow:-8px 0 24px rgba(0,0,0,.45); }
.hm-panel[hidden] { display:none; }
.hm-head { display:flex; align-items:center; justify-content:space-between; gap:.4rem; padding:.5rem .7rem;
  border-bottom:1px solid var(--borda); font-size:.76rem; font-weight:700; color:var(--dourado-claro); }
.hm-actions { display:flex; align-items:center; gap:.35rem; }
.hm-full { background:transparent; border:0; color:var(--dourado-claro); cursor:pointer; font-size:.95rem; line-height:1; }
.hm-full:hover { color:var(--dourado); }
.hm-close { background:transparent; border:0; color:var(--texto-fraco); cursor:pointer; font-size:1rem; line-height:1; }
.hm-close:hover { color:var(--texto); }
.hm-canvas { flex:1 1 auto; width:100%; min-height:0; display:block; }
.hm-foot { padding:.5rem .7rem; border-top:1px solid var(--borda); font-size:.7rem; color:var(--texto-fraco); text-align:center; }
.hm-foot b { color:var(--dourado); }
.hm-plans { background:transparent; border:0; color:var(--dourado); cursor:pointer; text-decoration:underline; font-size:.7rem; padding:0; }
.tf-menu { max-height:72vh; overflow-y:auto; min-width:200px; }
.tf-menu .tf-group-label { font-size:.66rem; color:var(--texto-fraco); text-transform:uppercase; letter-spacing:.6px; padding:.4rem .55rem .15rem; }
.tf-menu-head { font-size:.7rem; color:var(--texto-fraco); padding:.3rem .55rem .4rem; border-bottom:1px solid var(--borda); margin-bottom:.15rem; }
.draw-menu { min-width:240px; }
.draw-menu .ind-item.draw-soon { color:var(--texto-fraco); }
.draw-menu .soon-tag { margin-left:auto; font-size:.6rem; color:var(--texto-fraco); background:var(--preto); border:1px solid var(--borda); border-radius:8px; padding:0 .35rem; }
.draw-status { font-size:.72rem; color:var(--dourado); padding:.4rem .55rem .1rem; min-height:1rem; }
#draw-edit { position:absolute; z-index:7; display:none; align-items:center; gap:.3rem; background:var(--preto2); border:1px solid var(--borda); border-radius:8px; padding:.25rem .35rem; box-shadow:0 4px 14px rgba(0,0,0,.5); }
#draw-edit .de-grip { color:var(--texto-fraco); cursor:move; font-size:.95rem; line-height:1; padding:0 .15rem; user-select:none; }
#draw-edit .de-grip:hover { color:var(--dourado); }
#draw-edit .de-color { width:1.7rem; height:1.4rem; border:1px solid var(--borda); border-radius:5px; background:transparent; cursor:pointer; padding:0; }
#draw-edit .de-width, #draw-edit .de-size { background:var(--painel); border:1px solid var(--borda); color:var(--texto); border-radius:5px; font-size:.74rem; padding:.1rem .2rem; cursor:pointer; }
#draw-edit .de-del { background:transparent; border:0; color:var(--texto-fraco); cursor:pointer; font-size:.95rem; line-height:1; }
#draw-edit .de-del:hover { color:var(--vermelho); }
#draw-edit .de-cfg { background:transparent; border:0; color:var(--texto-fraco); cursor:pointer; font-size:.95rem; line-height:1; }
#draw-edit .de-cfg:hover { color:var(--dourado); }
/* Painel de configuração do desenho (estilo, texto, coordenadas) */
#draw-cfg { position:absolute; z-index:8; display:none; width:236px; background:var(--preto2); border:1px solid var(--borda); border-radius:8px; padding:.5rem .55rem; box-shadow:0 8px 24px rgba(0,0,0,.5); }
#draw-cfg .dc-sec { font-size:.66rem; text-transform:uppercase; letter-spacing:.05em; color:var(--texto-fraco); margin:.4rem 0 .25rem; }
#draw-cfg .dc-sec:first-child { margin-top:0; }
#draw-cfg .dc-row { display:flex; align-items:center; gap:.4rem; margin:.25rem 0; }
#draw-cfg .dc-lbl { font-size:.72rem; color:var(--texto-fraco); min-width:2.3rem; flex:0 0 auto; }
#draw-cfg input, #draw-cfg select { background:var(--painel); border:1px solid var(--borda); color:var(--texto); border-radius:5px; font-size:.74rem; padding:.15rem .3rem; flex:1 1 auto; min-width:0; }
#draw-cfg input[type=color] { flex:0 0 auto; width:1.9rem; height:1.5rem; padding:0; cursor:pointer; }
#draw-text-input { position:absolute; z-index:8; min-width:120px; background:var(--preto2); border:1px solid var(--dourado); color:var(--texto); border-radius:6px; padding:.2rem .4rem; font-size:.8rem; }
.tf-row { display:flex; align-items:center; gap:.1rem; }
.tf-row .ind-item { flex:1 1 auto; }
.tf-star { background:transparent; border:0; color:var(--texto-fraco); cursor:pointer; font-size:.95rem; line-height:1; padding:.2rem .35rem; border-radius:6px; }
.tf-star:hover { background:var(--preto2); }
.tf-star.on { color:var(--dourado); }
.ind-item.on { color:var(--dourado); font-weight:600; }
.ind-check { width:1rem; display:inline-block; color:var(--dourado); font-weight:800; }
.ind-row { display:flex; align-items:center; gap:.2rem; }
.ind-row .ind-item { flex:1 1 auto; }
.ind-gear {
  flex:0 0 auto; background:transparent; border:0; color:var(--texto-fraco);
  cursor:pointer; padding:.3rem .4rem; border-radius:6px; font-size:.85rem;
}
.ind-gear:hover { background:var(--preto2); color:var(--dourado); }

.ind-config {
  position:absolute; z-index:70; min-width:180px;
  background:var(--painel); border:1px solid var(--dourado); border-radius:8px;
  padding:.6rem; display:flex; flex-direction:column; gap:.4rem;
  box-shadow:0 6px 18px rgba(0,0,0,.55);
}
.ind-config-title { color:var(--dourado); font-weight:700; font-size:.85rem; margin-bottom:.2rem; }
.ind-config-row { display:flex; justify-content:space-between; align-items:center; gap:.6rem; font-size:.82rem; color:var(--texto-fraco); }
.ind-config-row input { width:4.5rem; background:var(--preto2); border:1px solid var(--borda); color:var(--texto); border-radius:6px; padding:.25rem .4rem; }

/* Contagem regressiva pro fechamento do candle, na escala da direita (embaixo do preço) */
.candle-countdown {
  position:absolute; right:0; z-index:6; pointer-events:none;
  text-align:center; font-size:.7rem; font-weight:700; font-variant-numeric:tabular-nums;
  padding:1px 0; border-radius:3px; line-height:1.3;
}
.candle-countdown.up { background:var(--verde); color:#062a1c; }
.candle-countdown.down { background:var(--vermelho); color:#2a0808; }

#pane-labels { position:absolute; inset:0; pointer-events:none; z-index:5; }
/* Legenda do ativo (abaixo dos indicadores) */
.chart-legend { position:absolute; left:8px; z-index:4; pointer-events:none; line-height:1.4;
  font-size:.72rem; white-space:nowrap; }
.chart-legend .cl-sym { font-weight:700; color:var(--texto); }
.chart-legend .cl-mut { color:var(--texto-fraco); }
.chart-legend .cl-ohlc { display:block; color:var(--texto-fraco); font-variant-numeric:tabular-nums; }
.chart-legend .cl-k { opacity:.7; }
.chart-legend .up { color:var(--verde); } .chart-legend .down { color:var(--vermelho); }
/* Marca d'água canto inferior esquerdo */
.chart-brand { position:absolute; left:10px; bottom:30px; z-index:2; pointer-events:none;
  opacity:.30; line-height:0; }
.pane-label {
  position:absolute; left:8px; display:flex; align-items:center; gap:.25rem;
  pointer-events:auto; font-size:.72rem; color:var(--texto-fraco); white-space:nowrap;
}
.pane-label-gear {
  background:rgba(255,216,77,.14); border:1px solid rgba(255,216,77,.45); color:#ffd84d; cursor:pointer;
  padding:.05rem .25rem; font-size:.8rem; line-height:1; border-radius:4px; margin-left:.1rem;
  transition:background .12s, box-shadow .12s;
}
.pane-label-gear:hover { background:rgba(255,216,77,.3); box-shadow:0 0 6px rgba(255,216,77,.5); color:#fff0b8; }

/* Barra vertical de desenho: botões de ícone (grupos) + flyout pra esquerda */
.draw-rail-btn {
  width:34px; height:34px; flex:0 0 auto; display:flex; align-items:center; justify-content:center;
  background:transparent; border:1px solid transparent; border-radius:6px; cursor:pointer;
  color:var(--texto); font-size:1rem; line-height:1; transition:background .12s, border-color .12s;
}
.draw-rail-btn:hover { background:var(--preto3, rgba(255,255,255,.06)); }
.draw-rail-btn.active { background:rgba(255,216,77,.16); border-color:rgba(255,216,77,.5); color:#ffd84d; }
.draw-rail-sep { width:24px; height:1px; background:var(--borda); margin:4px 0; flex:0 0 auto; }
.draw-flyout {
  position:fixed; z-index:60; min-width:210px; max-height:80vh; overflow-y:auto;
  background:var(--preto2); border:1px solid var(--borda); border-radius:8px;
  box-shadow:0 8px 24px rgba(0,0,0,.45); padding:6px;
}
.draw-flyout-title { font-size:.7rem; color:var(--texto-fraco); text-transform:uppercase; letter-spacing:.04em; padding:.3rem .5rem .2rem; }
.draw-flyout .ind-item { display:flex; align-items:center; gap:9px; width:100%; text-align:left; }
.draw-flyout .ind-item svg { flex:0 0 auto; opacity:.85; }

.chart-toolbar { display:flex; gap:.3rem; padding:.5rem 1rem; border-bottom:1px solid var(--borda); flex-wrap:wrap; align-items:center; }

/* Fita rolante (ticker): maiores altas 24h + planos com desconto */
.market-ticker { flex:1 1 100%; overflow:hidden; white-space:nowrap; margin-top:.4rem; padding-top:.4rem; border-top:1px solid var(--borda); -webkit-mask-image:linear-gradient(90deg, transparent, #000 3%, #000 97%, transparent); mask-image:linear-gradient(90deg, transparent, #000 3%, #000 97%, transparent); }
.ticker-track { display:inline-flex; align-items:center; animation:ticker-scroll 45s linear infinite; will-change:transform; }
.market-ticker:hover .ticker-track { animation-play-state:paused; }
@keyframes ticker-scroll { from { transform:translateX(0); } to { transform:translateX(-50%); } }
.ticker-track > span { margin-right:1.6rem; display:inline-flex; align-items:center; gap:.3rem; font-size:.78rem; color:var(--texto); }
.tk-sym { color:var(--texto); font-weight:700; }
.tk-mult { font-size:.6rem; color:var(--texto-fraco); border:1px solid var(--borda); border-radius:3px; padding:0 2px; }
.tk-up { color:var(--verde); font-weight:600; }
.tk-head { font-weight:700; letter-spacing:.03em; font-size:.74rem; }
.tk-head-alta { color:#ff7a45; }
.tk-head-plan { color:#ffd84d; }
.tk-disc { color:#ffd84d; }
.tk-off { background:rgba(255,216,77,.18); color:#ffd84d; border-radius:3px; padding:0 4px; font-size:.66rem; font-weight:700; }
.tk-hook { color:#ffd84d; font-weight:600; }
.tk-sep { color:var(--texto-fraco); }
.toolbar-group { display:flex; gap:.2rem; }
.toolbar-label { color:var(--texto-fraco); font-size:.8rem; margin-right:.3rem; }

.rodape { padding:.5rem 1rem; border-top:1px solid var(--borda); color:var(--texto-fraco); font-size:.75rem; text-align:center; }

.ema-panel { display:flex; flex-direction:column; gap:.3rem; padding:.5rem 1rem; border-bottom:1px solid var(--borda); background:var(--preto2); }
.ema-panel.hidden { display:none; }
.ema-row { display:flex; gap:.4rem; align-items:center; }
.ema-actions { display:flex; gap:.4rem; flex-wrap:wrap; }
.ema-row .ema-period { width:5rem; background:var(--painel); border:1px solid var(--borda); color:var(--texto); border-radius:6px; padding:.2rem .4rem; }
.ema-row select { background:var(--painel); border:1px solid var(--borda); color:var(--texto); border-radius:6px; padding:.2rem .35rem; font-size:.8rem; }
.ema-row .ema-color { width:2.2rem; height:1.8rem; background:transparent; border:1px solid var(--borda); border-radius:6px; }
.ema-eye { padding:.2rem .45rem; font-size:.9rem; line-height:1; border-color:var(--borda); color:var(--texto); }
.ema-eye.off { color:var(--texto-fraco); border-color:var(--borda); opacity:.5; }

.bb-row { display:flex; gap:.4rem; align-items:center; }
.bb-row .bb-tag { font-size:.72rem; font-weight:700; color:var(--texto-fraco); min-width:2.6rem; }
.bb-row .bb-field { display:flex; align-items:center; gap:.25rem; font-size:.72rem; color:var(--texto-fraco); }
.bb-row .bb-field input { width:3.6rem; background:var(--painel); border:1px solid var(--borda); color:var(--texto); border-radius:6px; padding:.2rem .4rem; }
.bb-row .bb-color { width:2.2rem; height:1.8rem; background:transparent; border:1px solid var(--borda); border-radius:6px; }
.bb-eye { padding:.2rem .45rem; font-size:.9rem; line-height:1; border-color:var(--borda); color:var(--texto); }
.bb-eye.off { color:var(--texto-fraco); border-color:var(--borda); opacity:.5; }
.btn[disabled] { opacity:.45; cursor:not-allowed; }

/* Painel de sentimento (Fase 2a): fileira de cards embaixo do gráfico */
.sentiment-panel { display:flex; gap:.6rem; padding:.5rem 1rem; border-top:1px solid var(--borda); overflow-x:auto; }
.sentiment-card { flex:1 1 0; min-width:150px; background:var(--preto2); border:1px solid var(--borda); border-radius:10px; padding:.5rem .7rem; }
.sc-title { font-size:.72rem; color:var(--texto-fraco); white-space:nowrap; }
.sc-body { margin:.25rem 0; min-height:2.2em; display:flex; flex-direction:column; gap:.15rem; }
.sc-foot { font-size:.62rem; color:var(--texto-fraco); }
.sc-big { font-size:1.3rem; font-weight:700; }
.sc-big.up, .sc-label.up, .ls-leg .up { color:var(--verde); }
.sc-big.down, .sc-label.down, .ls-leg .down { color:var(--vermelho); }
.sc-label { font-size:.74rem; color:var(--texto-fraco); }
.sc-na { color:var(--texto-fraco); font-size:.8rem; }
.ls-bar { display:flex; height:8px; border-radius:4px; overflow:hidden; background:var(--borda); }
.ls-long { background:var(--verde); } .ls-short { background:var(--vermelho); }
.ls-leg { font-size:.72rem; }
.sentiment-card.band-extreme-fear .sc-big { color:#ef4444; }
.sentiment-card.band-fear .sc-big { color:#ff7a45; }
.sentiment-card.band-neutral .sc-big { color:#ffd84d; }
.sentiment-card.band-greed .sc-big { color:#7ed957; }
.sentiment-card.band-extreme-greed .sc-big { color:#26c281; }

/* Feed de liquidações ao vivo (Fase 2b) */
.liq-feed { display:flex; flex-direction:column; gap:1px; max-height:3.6em; overflow-y:auto; font-size:.7rem; }
.liq-row { white-space:nowrap; }
.liq-t { color:var(--texto-fraco); }

/* Modal de autenticação (Fase 3a) */
.auth-overlay { position:fixed; inset:0; background:rgba(0,0,0,.6); z-index:120; display:flex; align-items:center; justify-content:center; }
.auth-modal { position:relative; width:min(380px,92vw); background:var(--preto2); border:1px solid var(--borda); border-radius:14px; padding:1.6rem; color:var(--texto); }
.auth-x { position:absolute; top:.7rem; right:.8rem; background:transparent; border:0; color:var(--texto-fraco); font-size:1.1rem; cursor:pointer; }
.auth-title { margin:0 0 1rem; font-size:1.3rem; }
.auth-in { width:100%; box-sizing:border-box; background:var(--painel); border:1px solid var(--borda); color:var(--texto); border-radius:8px; padding:.6rem .7rem; margin-bottom:.6rem; }
.auth-cta { width:100%; background:var(--dourado); color:var(--preto-puro); border:0; border-radius:8px; padding:.6rem; font-weight:700; cursor:pointer; }
.auth-cta:hover { filter:brightness(1.08); }
.auth-msg { min-height:1.2em; margin:.6rem 0 0; font-size:.82rem; color:var(--vermelho); }
.auth-msg.ok { color:var(--verde); }
.auth-links { display:flex; justify-content:space-between; margin-top:.9rem; }
.auth-links a { color:var(--dourado); font-size:.82rem; cursor:pointer; }
.liq-v { font-variant-numeric:tabular-nums; }
