/* =====================================================================
   BANK + GUARDIAN V3 — IMPLEMENTAÇÃO REAL (substitui as páginas)
   Namespace: .bgv3-* (não vaza pra resto da plataforma)
===================================================================== */

:root {
  --bgv3-bg-deep: #050715;
  --bgv3-bg-darker: #08091e;
  --bgv3-bg-card: rgba(15,18,48,0.55);
  --bgv3-bg-card-strong: rgba(20,24,58,0.78);
  --bgv3-glass-border: rgba(255,255,255,0.08);
  --bgv3-glass-border-bright: rgba(255,255,255,0.16);
  --bgv3-primary: #a78bfa;
  --bgv3-primary-bright: #c4b5fd;
  --bgv3-primary-deep: #7c3aed;
  --bgv3-accent: #22d3ee;
  --bgv3-accent-bright: #67e8f9;
  --bgv3-green: #34d399;
  --bgv3-green-bright: #6ee7b7;
  --bgv3-amber: #fbbf24;
  --bgv3-amber-bright: #fcd34d;
  --bgv3-gold: #f59e0b;
  --bgv3-red: #f87171;
  --bgv3-red-deep: #dc2626;
  --bgv3-text-1: #f1f5f9;
  --bgv3-text-2: #cbd5e1;
  --bgv3-text-3: #94a3b8;
  --bgv3-text-4: #64748b;
  --bgv3-r-md: 12px;
  --bgv3-r-lg: 18px;
  --bgv3-r-xl: 22px;
  --bgv3-r-2xl: 28px;
  --bgv3-spring: cubic-bezier(0.34, 1.56, 0.64, 1);
  --bgv3-smooth: cubic-bezier(0.4, 0, 0.2, 1);
}

.bgv3 { color: var(--bgv3-text-1); -webkit-font-smoothing: antialiased; }
.bgv3 * { box-sizing: border-box; }

/* ─── ZONA / SEÇÃO ─── */
.bgv3-zone { margin-bottom: 28px; }
.bgv3-zone-head {
  display: flex; align-items: center; gap: 10px;
  margin-bottom: 12px;
  font-size: 0.7rem; letter-spacing: 0.18em;
  color: var(--bgv3-text-3); font-weight: 700; text-transform: uppercase;
  flex-wrap: wrap;
}
.bgv3-zone-head .num {
  width: 22px; height: 22px; border-radius: 50%;
  background: linear-gradient(135deg, var(--bgv3-primary-deep), var(--bgv3-primary));
  display: flex; align-items: center; justify-content: center;
  color: white; font-size: 0.65rem; font-weight: 800;
  font-family: "SF Mono", monospace;
  flex-shrink: 0;
}
.bgv3-zone-q {
  flex: 1; color: var(--bgv3-text-2);
  font-size: 0.78rem; letter-spacing: 0; text-transform: none; font-weight: 500;
  text-align: right; min-width: 120px;
}

/* ─── HERO ─── */
.bgv3-hero {
  position: relative;
  padding: 26px 28px;
  background: linear-gradient(135deg, rgba(124,58,237,0.18), rgba(34,211,238,0.10));
  border: 1px solid var(--bgv3-glass-border-bright);
  border-radius: var(--bgv3-r-2xl);
  backdrop-filter: blur(40px) saturate(180%);
  -webkit-backdrop-filter: blur(40px) saturate(180%);
  overflow: hidden;
  margin-bottom: 24px;
}
.bgv3-hero::before {
  content: ""; position: absolute; inset: 0;
  background: radial-gradient(circle 500px at 80% 20%, rgba(167,139,250,0.20), transparent 70%);
  pointer-events: none;
}
.bgv3-hero-row {
  position: relative;
  display: flex; align-items: center; justify-content: space-between; gap: 20px;
  flex-wrap: wrap;
}
.bgv3-hero-greet { font-size: 1.5rem; font-weight: 800; letter-spacing: -0.02em; }
.bgv3-hero-greet .accent {
  background: linear-gradient(135deg, var(--bgv3-primary-bright), var(--bgv3-accent-bright));
  -webkit-background-clip: text; -webkit-text-fill-color: transparent;
}
.bgv3-hero-sub { font-size: 0.74rem; color: var(--bgv3-text-3); margin-top: 4px; }

.bgv3-status-pill {
  display: inline-flex; align-items: center; gap: 8px;
  padding: 7px 14px; border-radius: 999px;
  font-size: 0.7rem; font-weight: 700; letter-spacing: 0.06em; text-transform: uppercase;
  margin-top: 10px;
}
.bgv3-status-pill .pdot { width: 8px; height: 8px; border-radius: 50%; }
.bgv3-status-pill.ok { background: rgba(52,211,153,0.16); color: var(--bgv3-green-bright); border: 1px solid rgba(52,211,153,0.32); }
.bgv3-status-pill.ok .pdot { background: var(--bgv3-green-bright); box-shadow: 0 0 10px var(--bgv3-green-bright); animation: bgv3Pulse 1.6s infinite; }
.bgv3-status-pill.warn { background: rgba(251,191,36,0.16); color: var(--bgv3-amber-bright); border: 1px solid rgba(251,191,36,0.32); }
.bgv3-status-pill.warn .pdot { background: var(--bgv3-amber-bright); }
.bgv3-status-pill.danger { background: rgba(248,113,113,0.16); color: var(--bgv3-red); border: 1px solid rgba(248,113,113,0.32); }
.bgv3-status-pill.danger .pdot { background: var(--bgv3-red); animation: bgv3Pulse 1s infinite; }
@keyframes bgv3Pulse {
  0%,100% { box-shadow: 0 0 4px currentColor; }
  50% { box-shadow: 0 0 14px currentColor; }
}

.bgv3-hero-stats { display: flex; gap: 26px; flex-wrap: wrap; margin-top: 16px; }
.bgv3-hero-stat .v { font-size: 1.25rem; font-weight: 800; letter-spacing: -0.01em; }
.bgv3-hero-stat .v.pos { color: var(--bgv3-green-bright); }
.bgv3-hero-stat .v.neg { color: var(--bgv3-red); }
.bgv3-hero-stat .l { font-size: 0.6rem; letter-spacing: 0.14em; color: var(--bgv3-text-3); text-transform: uppercase; margin-top: 3px; }

.bgv3-gauge { position: relative; width: 140px; height: 140px; flex-shrink: 0; }
.bgv3-gauge svg { width: 100%; height: 100%; transform: rotate(-90deg); }
.bgv3-gauge .gauge-bg { stroke: rgba(255,255,255,0.06); }
.bgv3-gauge .gauge-fg { stroke: url(#bgv3GG); stroke-linecap: round; transition: stroke-dashoffset 1.4s var(--bgv3-spring); }
.bgv3-gauge-inner {
  position: absolute; inset: 0;
  display: flex; flex-direction: column; align-items: center; justify-content: center;
}
.bgv3-gauge-val { font-size: 1.85rem; font-weight: 800; line-height: 1; }
.bgv3-gauge-grade { font-size: 0.74rem; font-weight: 700; margin-top: 3px; }
.bgv3-gauge-cap { font-size: 0.52rem; letter-spacing: 0.18em; color: var(--bgv3-text-3); text-transform: uppercase; margin-top: 6px; }

.bgv3-cta {
  display: inline-flex; align-items: center; gap: 12px;
  padding: 13px 22px;
  background: linear-gradient(135deg, var(--bgv3-primary), var(--bgv3-primary-deep));
  border: 1px solid rgba(255,255,255,0.18);
  border-radius: 16px;
  color: white;
  font-size: 0.88rem; font-weight: 700; letter-spacing: 0.01em;
  cursor: pointer;
  box-shadow: 0 6px 24px -6px rgba(124,58,237,0.55), 0 1px 0 rgba(255,255,255,0.14) inset;
  transition: transform .2s var(--bgv3-spring), box-shadow .25s ease;
  margin-top: 16px;
  font-family: inherit;
}
.bgv3-cta:hover { transform: translateY(-2px); box-shadow: 0 12px 36px -8px rgba(124,58,237,0.72); }
.bgv3-cta::before {
  content: ""; width: 9px; height: 9px; border-radius: 50%;
  background: var(--bgv3-green-bright);
  box-shadow: 0 0 14px var(--bgv3-green-bright);
  animation: bgv3Pulse 1.6s infinite;
}

.bgv3-cop-bubble {
  margin-top: 16px;
  display: flex; align-items: flex-start; gap: 12px;
  padding: 12px 14px;
  background: rgba(167,139,250,0.10);
  border: 1px solid rgba(167,139,250,0.22);
  border-left: 3px solid var(--bgv3-primary-bright);
  border-radius: 14px;
  font-size: 0.84rem; line-height: 1.55;
}
.bgv3-cop-bubble .av {
  width: 30px; height: 30px; border-radius: 50%;
  background: linear-gradient(135deg, var(--bgv3-primary), var(--bgv3-primary-deep));
  display: flex; align-items: center; justify-content: center;
  font-size: 0.75rem; font-weight: 800; color: white;
  flex-shrink: 0;
}

/* ─── CARD ─── */
.bgv3-card {
  padding: 20px;
  background: var(--bgv3-bg-card);
  backdrop-filter: blur(40px) saturate(180%);
  -webkit-backdrop-filter: blur(40px) saturate(180%);
  border: 1px solid var(--bgv3-glass-border);
  border-radius: var(--bgv3-r-xl);
  position: relative; overflow: hidden;
}
.bgv3-card-h {
  display: flex; align-items: center; justify-content: space-between; gap: 12px;
  margin-bottom: 14px;
}
.bgv3-card-t { font-size: 0.84rem; font-weight: 700; }
.bgv3-card-t small { display: block; font-size: 0.62rem; color: var(--bgv3-text-3); font-weight: 500; margin-top: 2px; }
.bgv3-card-tag {
  font-family: "SF Mono", monospace;
  font-size: 0.58rem; padding: 4px 10px;
  background: rgba(34,211,238,0.10);
  border: 1px solid rgba(34,211,238,0.22);
  border-radius: 8px;
  color: var(--bgv3-accent-bright);
  letter-spacing: 0.04em;
}
.bgv3-card-tag.green { background: rgba(52,211,153,0.10); border-color: rgba(52,211,153,0.22); color: var(--bgv3-green-bright); }
.bgv3-card-tag.amber { background: rgba(251,191,36,0.10); border-color: rgba(251,191,36,0.22); color: var(--bgv3-amber-bright); }
.bgv3-card-tag.red { background: rgba(248,113,113,0.10); border-color: rgba(248,113,113,0.22); color: var(--bgv3-red); }

.bgv3-card-help {
  font-size: 0.72rem; color: var(--bgv3-text-3); line-height: 1.55;
  padding: 10px 12px;
  background: rgba(167,139,250,0.06);
  border: 1px solid rgba(167,139,250,0.16);
  border-radius: 10px;
  margin-bottom: 12px;
}
.bgv3-card-help strong { color: var(--bgv3-text-2); }

/* ─── MODES ─── */
.bgv3-modes-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 12px;
}
@media (max-width: 900px) { .bgv3-modes-grid { grid-template-columns: 1fr; } }
.bgv3-mode-card {
  position: relative;
  padding: 18px 16px;
  background: var(--bgv3-bg-card);
  border: 1px solid var(--bgv3-glass-border);
  border-radius: var(--bgv3-r-xl);
  cursor: pointer;
  transition: all .3s var(--bgv3-spring);
}
.bgv3-mode-card:hover { transform: translateY(-3px); border-color: var(--bgv3-glass-border-bright); }
.bgv3-mode-card.active {
  border-color: rgba(167,139,250,0.45);
  background: linear-gradient(135deg, rgba(167,139,250,0.10), rgba(34,211,238,0.06));
  box-shadow: 0 0 0 1px rgba(167,139,250,0.18), 0 12px 40px -10px rgba(124,58,237,0.40);
}
.bgv3-mode-card .em { font-size: 1.7rem; margin-bottom: 6px; }
.bgv3-mode-card .nm { font-size: 0.95rem; font-weight: 800; }
.bgv3-mode-card .lvl { font-size: 0.62rem; letter-spacing: 0.16em; color: var(--bgv3-text-3); text-transform: uppercase; margin-top: 2px; font-weight: 700; }
.bgv3-mode-card .desc { font-size: 0.74rem; color: var(--bgv3-text-2); margin-top: 8px; line-height: 1.5; min-height: 38px; }
.bgv3-mode-card .specs {
  display: flex; flex-direction: column; gap: 5px;
  margin-top: 12px;
  padding-top: 12px;
  border-top: 1px solid var(--bgv3-glass-border);
  font-size: 0.7rem; color: var(--bgv3-text-3);
}
.bgv3-mode-card .specs strong { color: var(--bgv3-text-1); font-family: "SF Mono", monospace; }
.bgv3-mode-card .badge-active {
  position: absolute; top: 10px; right: 10px;
  padding: 3px 9px;
  background: linear-gradient(135deg, var(--bgv3-green-bright), var(--bgv3-green));
  color: #052e1a;
  font-size: 0.55rem; font-weight: 800; letter-spacing: 0.08em;
  border-radius: 999px;
}
.bgv3-mode-card.proteção::before, .bgv3-mode-card.equilibrado::before, .bgv3-mode-card.profissional::before {
  content: ""; position: absolute; top: 0; left: 0; right: 0; height: 3px;
  border-radius: var(--bgv3-r-xl) var(--bgv3-r-xl) 0 0;
}
.bgv3-mode-card.proteção::before { background: linear-gradient(90deg, var(--bgv3-green-bright), var(--bgv3-accent)); }
.bgv3-mode-card.equilibrado::before { background: linear-gradient(90deg, var(--bgv3-primary-bright), var(--bgv3-accent-bright)); }
.bgv3-mode-card.profissional::before { background: linear-gradient(90deg, var(--bgv3-gold), var(--bgv3-amber-bright)); }

/* ─── REGRA HOJE ─── */
.bgv3-rule-card {
  padding: 20px;
  background: linear-gradient(135deg, rgba(34,211,238,0.10), rgba(167,139,250,0.06));
  border: 1px solid rgba(34,211,238,0.22);
  border-radius: var(--bgv3-r-xl);
}
.bgv3-rule-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 12px;
  margin-top: 10px;
}
@media (max-width: 720px) { .bgv3-rule-grid { grid-template-columns: repeat(2, 1fr); } }
.bgv3-rule-item {
  padding: 12px 14px;
  background: rgba(255,255,255,0.03);
  border: 1px solid var(--bgv3-glass-border);
  border-radius: 12px;
}
.bgv3-rule-item .l { font-size: 0.6rem; letter-spacing: 0.12em; color: var(--bgv3-text-3); text-transform: uppercase; font-weight: 700; }
.bgv3-rule-item .v { font-size: 1.05rem; font-weight: 800; margin-top: 4px; font-family: "SF Mono", monospace; }
.bgv3-rule-item .v.green { color: var(--bgv3-green-bright); }
.bgv3-rule-item .v.red { color: var(--bgv3-red); }
.bgv3-rule-item .v.amber { color: var(--bgv3-amber-bright); }
.bgv3-rule-item .h { font-size: 0.62rem; color: var(--bgv3-text-3); margin-top: 2px; }

/* ─── STOP BARS ─── */
.bgv3-stop-bars { padding: 18px; background: var(--bgv3-bg-card); border: 1px solid var(--bgv3-glass-border); border-radius: var(--bgv3-r-xl); }
.bgv3-stop-row { margin-bottom: 12px; }
.bgv3-stop-row:last-child { margin-bottom: 0; }
.bgv3-stop-row-h { display: flex; justify-content: space-between; font-size: 0.74rem; margin-bottom: 6px; }
.bgv3-stop-row-h .lbl { color: var(--bgv3-text-3); letter-spacing: 0.06em; font-weight: 600; }
.bgv3-stop-row-h .vals { font-family: "SF Mono", monospace; font-weight: 700; }
.bgv3-stop-bar { height: 12px; background: rgba(255,255,255,0.04); border-radius: 6px; overflow: hidden; }
.bgv3-stop-bar .fill { height: 100%; border-radius: 6px; transition: width 1s var(--bgv3-spring); }
.bgv3-stop-bar.loss .fill { background: linear-gradient(90deg, var(--bgv3-amber), var(--bgv3-red)); }
.bgv3-stop-bar.profit .fill { background: linear-gradient(90deg, var(--bgv3-accent), var(--bgv3-green-bright)); }

/* ─── ENTRY BANNER (sua próxima entrada) ─── */
.bgv3-entry-banner {
  position: relative;
  padding: 28px 32px;
  background: linear-gradient(135deg, rgba(52,211,153,0.12), rgba(34,211,238,0.10), rgba(167,139,250,0.08));
  border: 1px solid rgba(52,211,153,0.32);
  border-radius: var(--bgv3-r-2xl);
  backdrop-filter: blur(40px) saturate(180%);
  -webkit-backdrop-filter: blur(40px) saturate(180%);
  overflow: hidden;
  margin-bottom: 18px;
  box-shadow: 0 12px 48px -12px rgba(52,211,153,0.30), 0 1px 0 rgba(255,255,255,0.10) inset;
}
.bgv3-entry-banner::before {
  content: ""; position: absolute; inset: 0;
  background: radial-gradient(circle 400px at 80% 30%, rgba(52,211,153,0.18), transparent 70%);
  pointer-events: none;
}
.bgv3-entry-banner::after {
  content: ""; position: absolute; top: 0; left: 0; right: 0; height: 3px;
  background: linear-gradient(90deg, var(--bgv3-green-bright), var(--bgv3-accent-bright), var(--bgv3-primary-bright));
}
.bgv3-entry-row {
  position: relative;
  display: flex; align-items: center; justify-content: space-between; gap: 24px;
  flex-wrap: wrap;
}
.bgv3-entry-label {
  font-size: 0.7rem; letter-spacing: 0.22em;
  color: var(--bgv3-text-3); font-weight: 700; text-transform: uppercase;
  margin-bottom: 6px;
  display: flex; align-items: center; gap: 8px;
}
.bgv3-entry-label .pulse {
  width: 10px; height: 10px; border-radius: 50%;
  background: var(--bgv3-green-bright);
  box-shadow: 0 0 14px var(--bgv3-green-bright);
  animation: bgv3Pulse 1.5s infinite;
}
.bgv3-entry-value {
  font-size: 3.4rem; font-weight: 900;
  font-family: "SF Mono", monospace;
  letter-spacing: -0.03em; line-height: 1;
  background: linear-gradient(135deg, var(--bgv3-green-bright), var(--bgv3-accent-bright));
  -webkit-background-clip: text; -webkit-text-fill-color: transparent;
  margin: 4px 0 14px;
}
.bgv3-entry-out {
  display: flex; gap: 22px; flex-wrap: wrap;
  margin-top: 4px;
}
.bgv3-entry-out-item {
  display: flex; align-items: center; gap: 10px;
  padding: 10px 16px;
  border-radius: 14px;
  font-family: "SF Mono", monospace;
}
.bgv3-entry-out-item.win {
  background: rgba(52,211,153,0.12);
  border: 1px solid rgba(52,211,153,0.30);
  color: var(--bgv3-green-bright);
}
.bgv3-entry-out-item.loss {
  background: rgba(248,113,113,0.10);
  border: 1px solid rgba(248,113,113,0.28);
  color: var(--bgv3-red);
}
.bgv3-entry-out-item .ic { font-size: 1rem; font-weight: 800; }
.bgv3-entry-out-item .lbl { font-size: 0.6rem; letter-spacing: 0.16em; opacity: 0.75; font-family: var(--bgv3-font-sf, inherit); font-weight: 700; text-transform: uppercase; margin-right: 4px; }
.bgv3-entry-out-item .val { font-size: 1rem; font-weight: 800; }
.bgv3-entry-meta {
  margin-top: 12px;
  display: flex; flex-wrap: wrap; gap: 8px;
}
.bgv3-entry-meta-pill {
  display: inline-flex; align-items: center; gap: 6px;
  padding: 5px 12px;
  background: rgba(255,255,255,0.05);
  border: 1px solid var(--bgv3-glass-border);
  border-radius: 999px;
  font-size: 0.7rem; color: var(--bgv3-text-2);
  font-weight: 600;
}
.bgv3-entry-meta-pill strong { color: var(--bgv3-text-1); }
.bgv3-entry-tip {
  font-size: 0.78rem; color: var(--bgv3-text-2); line-height: 1.5;
  margin-top: 14px;
  padding: 10px 14px;
  background: rgba(167,139,250,0.08);
  border: 1px solid rgba(167,139,250,0.18);
  border-left: 3px solid var(--bgv3-primary-bright);
  border-radius: 12px;
}
.bgv3-entry-tip strong { color: var(--bgv3-primary-bright); }
@media (max-width: 700px) {
  .bgv3-entry-banner { padding: 20px; }
  .bgv3-entry-value { font-size: 2.6rem; }
  .bgv3-entry-out { gap: 10px; }
  .bgv3-entry-out-item { padding: 8px 12px; }
}

/* ─── ACTION (WIN/LOSS + Calc) ─── */
.bgv3-action-grid { display: grid; grid-template-columns: 1.2fr 1fr; gap: 16px; }
@media (max-width: 900px) { .bgv3-action-grid { grid-template-columns: 1fr; } }

.bgv3-log-buttons { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; margin-top: 12px; }
.bgv3-log-btn {
  padding: 26px 16px;
  border: none; border-radius: 16px;
  cursor: pointer;
  font-family: inherit;
  font-size: 1.05rem; font-weight: 800; letter-spacing: 0.04em;
  transition: transform .2s var(--bgv3-spring), box-shadow .25s ease;
  display: flex; flex-direction: column; align-items: center; gap: 5px;
}
.bgv3-log-btn:hover { transform: translateY(-2px); }
.bgv3-log-btn:active { transform: translateY(0) scale(0.98); }
.bgv3-log-btn:disabled { opacity: 0.5; cursor: not-allowed; }
.bgv3-log-btn .lblsmall { font-size: 0.6rem; letter-spacing: 0.16em; opacity: 0.75; font-weight: 700; }
.bgv3-log-btn.win {
  background: linear-gradient(135deg, var(--bgv3-green-bright), var(--bgv3-green));
  color: #052e1a;
  box-shadow: 0 8px 26px -8px rgba(52,211,153,0.55), 0 1px 0 rgba(255,255,255,0.30) inset;
}
.bgv3-log-btn.loss {
  background: linear-gradient(135deg, var(--bgv3-red), var(--bgv3-red-deep));
  color: white;
  box-shadow: 0 8px 26px -8px rgba(248,113,113,0.55), 0 1px 0 rgba(255,255,255,0.18) inset;
}

.bgv3-calc-out {
  margin-top: 12px;
  padding: 14px 16px;
  background: linear-gradient(135deg, rgba(52,211,153,0.10), rgba(34,211,238,0.06));
  border: 1px solid rgba(52,211,153,0.24);
  border-radius: 12px;
}
.bgv3-calc-out .big { font-size: 1.35rem; font-weight: 800; color: var(--bgv3-green-bright); font-family: "SF Mono", monospace; }
.bgv3-calc-out .lbl { font-size: 0.6rem; letter-spacing: 0.14em; color: var(--bgv3-text-3); text-transform: uppercase; margin-top: 2px; font-weight: 700; }
.bgv3-calc-out .ev { font-size: 0.74rem; color: var(--bgv3-text-2); margin-top: 6px; }

/* ─── INPUTS ─── */
.bgv3 input, .bgv3 select {
  padding: 9px 11px;
  background: rgba(255,255,255,0.04);
  border: 1px solid var(--bgv3-glass-border);
  border-radius: 10px;
  color: var(--bgv3-text-1);
  font-family: "SF Mono", monospace;
  font-size: 0.84rem;
  outline: none;
  width: 100%;
  transition: border-color .2s ease;
}
.bgv3 input:focus, .bgv3 select:focus { border-color: var(--bgv3-primary-bright); }
.bgv3-input-row { display: flex; flex-direction: column; gap: 6px; }
.bgv3-input-row label { font-size: 0.62rem; letter-spacing: 0.1em; color: var(--bgv3-text-3); font-weight: 700; text-transform: uppercase; }
.bgv3-input-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }

/* ─── HEATMAP ─── */
.bgv3-heatmap {
  display: grid;
  grid-template-columns: 50px repeat(24, minmax(14px, 1fr));
  gap: 3px;
  font-family: "SF Mono", monospace;
  font-size: 0.55rem;
  align-items: center;
}
.bgv3-heatmap .lbl-row { color: var(--bgv3-text-3); font-weight: 600; padding-right: 6px; }
.bgv3-heatmap .lbl-col { color: var(--bgv3-text-4); text-align: center; font-size: 0.5rem; }
.bgv3-heatmap .cell { aspect-ratio: 1; border-radius: 3px; cursor: pointer; transition: transform .15s var(--bgv3-spring); }
.bgv3-heatmap .cell:hover { transform: scale(1.4); z-index: 2; }
.bgv3-heatmap-legend {
  display: flex; align-items: center; gap: 12px;
  margin-top: 10px; font-size: 0.62rem; color: var(--bgv3-text-3);
}
.bgv3-heatmap-legend .scale { display: flex; gap: 2px; }
.bgv3-heatmap-legend .scale i { width: 12px; height: 8px; display: block; border-radius: 2px; }

/* ─── EVO CHART ─── */
.bgv3-evo { width: 100%; height: 200px; }
.bgv3-evo-line-real { stroke: var(--bgv3-red); stroke-width: 2; fill: none; }
.bgv3-evo-line-cop { stroke: var(--bgv3-green-bright); stroke-width: 2; stroke-dasharray: 4 4; fill: none; }
.bgv3-evo-grid { stroke: rgba(255,255,255,0.04); stroke-width: 1; stroke-dasharray: 2 4; }
.bgv3-evo-legend { display: flex; gap: 14px; margin-top: 10px; font-size: 0.7rem; color: var(--bgv3-text-3); flex-wrap: wrap; }
.bgv3-evo-legend .it { display: inline-flex; align-items: center; gap: 6px; }
.bgv3-evo-legend .dot { width: 12px; height: 2px; }
.bgv3-evo-legend .dot.real { background: var(--bgv3-red); }
.bgv3-evo-legend .dot.cop { background: var(--bgv3-green-bright); }

/* ─── COUNTER ─── */
.bgv3-counter { display: flex; flex-direction: column; gap: 10px; }
.bgv3-counter-row { display: flex; align-items: center; gap: 12px; padding: 10px 12px; border-radius: 12px; font-size: 0.78rem; }
.bgv3-counter-row.win { background: rgba(52,211,153,0.06); border: 1px solid rgba(52,211,153,0.20); }
.bgv3-counter-row.skip { background: rgba(167,139,250,0.06); border: 1px solid rgba(167,139,250,0.20); }
.bgv3-counter-row.high { background: rgba(34,211,238,0.06); border: 1px solid rgba(34,211,238,0.20); }
.bgv3-counter-row .ic { width: 30px; height: 30px; border-radius: 50%; display: flex; align-items: center; justify-content: center; font-weight: 800; flex-shrink: 0; }
.bgv3-counter-row.win .ic { background: rgba(52,211,153,0.20); color: var(--bgv3-green-bright); }
.bgv3-counter-row.skip .ic { background: rgba(167,139,250,0.20); color: var(--bgv3-primary-bright); }
.bgv3-counter-row.high .ic { background: rgba(34,211,238,0.20); color: var(--bgv3-accent-bright); }
.bgv3-counter-row .body { flex: 1; min-width: 0; }
.bgv3-counter-row .body strong { display: block; font-size: 0.82rem; }
.bgv3-counter-row .body span { display: block; font-size: 0.66rem; color: var(--bgv3-text-3); margin-top: 2px; }
.bgv3-counter-row .delta { font-family: "SF Mono", monospace; font-weight: 700; color: var(--bgv3-green-bright); }
.bgv3-counter-row .delta.neg { color: var(--bgv3-red); }

/* ─── BADGES ─── */
.bgv3-badge-row { display: grid; grid-template-columns: repeat(auto-fit, minmax(140px, 1fr)); gap: 10px; }
.bgv3-badge {
  padding: 12px;
  background: rgba(255,255,255,0.03);
  border: 1px solid var(--bgv3-glass-border);
  border-radius: 14px;
  text-align: center; position: relative;
  transition: transform .2s var(--bgv3-spring);
}
.bgv3-badge:hover { transform: translateY(-2px); }
.bgv3-badge .em { font-size: 1.6rem; }
.bgv3-badge .nm { font-size: 0.74rem; font-weight: 700; margin-top: 4px; }
.bgv3-badge .ds { font-size: 0.6rem; color: var(--bgv3-text-3); margin-top: 2px; line-height: 1.3; }
.bgv3-badge.unlocked { border-color: rgba(167,139,250,0.32); box-shadow: 0 0 0 1px rgba(167,139,250,0.10), 0 6px 18px -6px rgba(124,58,237,0.30); }
.bgv3-badge.unlocked::after {
  content: "✓"; position: absolute; top: 6px; right: 8px;
  width: 16px; height: 16px; border-radius: 50%;
  background: var(--bgv3-green-bright); color: #052e1a;
  font-size: 0.7rem; font-weight: 800;
  display: flex; align-items: center; justify-content: center;
}
.bgv3-badge.locked { opacity: 0.55; }
.bgv3-badge.locked .em { filter: grayscale(1); }
.bgv3-badge .progress-bar { height: 4px; background: rgba(255,255,255,0.08); border-radius: 2px; margin-top: 8px; overflow: hidden; }
.bgv3-badge .progress-bar i { display: block; height: 100%; background: linear-gradient(90deg, var(--bgv3-primary), var(--bgv3-accent)); border-radius: 2px; }
.bgv3-badge .progress-text { font-size: 0.55rem; color: var(--bgv3-text-3); margin-top: 4px; font-family: "SF Mono", monospace; }

/* ─── TILT METER ─── */
.bgv3-tilt-row { display: flex; align-items: center; gap: 20px; flex-wrap: wrap; }
.bgv3-tilt-meter { position: relative; width: 130px; height: 130px; flex-shrink: 0; }
.bgv3-tilt-meter svg { width: 100%; height: 100%; transform: rotate(-90deg); }
.bgv3-tilt-meter .bg { stroke: rgba(255,255,255,0.06); }
.bgv3-tilt-meter .fg { stroke-linecap: round; transition: stroke-dashoffset 1s var(--bgv3-spring), stroke .3s ease; }
.bgv3-tilt-meter.lvl-stable .fg { stroke: var(--bgv3-green-bright); }
.bgv3-tilt-meter.lvl-alert .fg { stroke: var(--bgv3-amber-bright); }
.bgv3-tilt-meter.lvl-risk .fg { stroke: var(--bgv3-red); }
.bgv3-tilt-meter.lvl-blocked .fg { stroke: var(--bgv3-red-deep); }
.bgv3-tilt-meter-inner { position: absolute; inset: 0; display: flex; flex-direction: column; align-items: center; justify-content: center; }
.bgv3-tilt-meter-inner .v { font-size: 1.6rem; font-weight: 800; }
.bgv3-tilt-meter-inner .l { font-size: 0.55rem; letter-spacing: 0.18em; color: var(--bgv3-text-3); text-transform: uppercase; margin-top: 3px; }
.bgv3-tilt-info { flex: 1; min-width: 200px; font-size: 0.84rem; color: var(--bgv3-text-2); line-height: 1.55; }

/* ─── RADAR ─── */
.bgv3-radar { display: flex; align-items: center; justify-content: center; padding: 8px 0; }
.bgv3-radar svg { width: 100%; max-width: 320px; height: auto; }
.bgv3-radar-grid { stroke: rgba(255,255,255,0.10); fill: none; }
.bgv3-radar-axis { stroke: rgba(255,255,255,0.06); }
.bgv3-radar-shape { fill: rgba(167,139,250,0.22); stroke: var(--bgv3-primary-bright); stroke-width: 2; filter: drop-shadow(0 0 8px rgba(167,139,250,0.55)); transition: all 1s var(--bgv3-spring); }
.bgv3-radar-dot { fill: var(--bgv3-accent-bright); }
.bgv3-radar-label { fill: var(--bgv3-text-2); font-size: 11px; font-weight: 600; }
.bgv3-radar-value { fill: var(--bgv3-text-1); font-size: 10px; font-weight: 700; font-family: "SF Mono", monospace; }

/* ─── DAILY ─── */
.bgv3-daily {
  padding: 18px;
  background: linear-gradient(135deg, rgba(34,211,238,0.10), rgba(167,139,250,0.06));
  border: 1px solid rgba(34,211,238,0.20);
  border-radius: var(--bgv3-r-xl);
}
.bgv3-daily-h { display: flex; align-items: center; gap: 12px; margin-bottom: 8px; }
.bgv3-daily-h .ic { width: 32px; height: 32px; border-radius: 50%; background: rgba(34,211,238,0.18); display: flex; align-items: center; justify-content: center; color: var(--bgv3-accent-bright); flex-shrink: 0; font-size: 1rem; }
.bgv3-daily-play {
  display: inline-flex; align-items: center; gap: 8px;
  padding: 9px 16px;
  background: linear-gradient(135deg, var(--bgv3-accent), #0891b2);
  border: 1px solid rgba(34,211,238,0.40);
  border-radius: 12px;
  color: white; font-size: 0.8rem; font-weight: 700;
  cursor: pointer; font-family: inherit;
}
.bgv3-daily-play:hover { transform: translateY(-1px); }

/* ─── HOOKS ─── */
.bgv3-hooks { display: grid; grid-template-columns: repeat(auto-fit, minmax(170px, 1fr)); gap: 10px; }
.bgv3-hook { padding: 12px; background: rgba(255,255,255,0.03); border: 1px solid var(--bgv3-glass-border); border-radius: 12px; }
.bgv3-hook .em { font-size: 1.3rem; }
.bgv3-hook .nm { font-size: 0.78rem; font-weight: 700; margin-top: 6px; }
.bgv3-hook .ds { font-size: 0.65rem; color: var(--bgv3-text-3); margin-top: 3px; line-height: 1.4; }

/* ─── ACCORDION ─── */
.bgv3-acc {
  padding: 13px 16px;
  background: rgba(255,255,255,0.02);
  border: 1px solid var(--bgv3-glass-border);
  border-radius: 14px;
  cursor: pointer;
  display: flex; align-items: center; justify-content: space-between;
  font-size: 0.82rem; font-weight: 600;
  transition: background .2s ease;
  margin-bottom: 10px;
}
.bgv3-acc:hover { background: rgba(255,255,255,0.04); }
.bgv3-acc::after {
  content: "▾"; color: var(--bgv3-text-3); transition: transform .25s var(--bgv3-smooth);
}
.bgv3-acc.open::after { transform: rotate(180deg); }
.bgv3-acc-body {
  padding: 16px;
  background: var(--bgv3-bg-card);
  border: 1px solid var(--bgv3-glass-border);
  border-radius: 14px;
  margin-bottom: 12px;
  display: none;
}
.bgv3-acc.open + .bgv3-acc-body { display: block; }

/* ─── GRID ─── */
.bgv3-grid-2 { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
@media (max-width: 1100px) { .bgv3-grid-2 { grid-template-columns: 1fr; } }

/* ─── TABLE ─── */
.bgv3-tbl { width: 100%; border-collapse: collapse; font-size: 0.78rem; }
.bgv3-tbl th, .bgv3-tbl td { padding: 9px 10px; text-align: left; border-bottom: 1px solid var(--bgv3-glass-border); }
.bgv3-tbl th { font-size: 0.6rem; letter-spacing: 0.12em; color: var(--bgv3-text-3); font-weight: 700; text-transform: uppercase; }
.bgv3-tbl tr:last-child td { border-bottom: 0; }
.bgv3-tbl .pill { padding: 3px 8px; border-radius: 999px; font-size: 0.62rem; font-weight: 700; }
.bgv3-tbl .pill.win { background: rgba(52,211,153,0.18); color: var(--bgv3-green-bright); }
.bgv3-tbl .pill.loss { background: rgba(248,113,113,0.18); color: var(--bgv3-red); }

/* ─── PRE-TRADE GATE MODAL ─── */
.bgv3-gate-overlay {
  position: fixed; inset: 0; z-index: 9999;
  background: rgba(7,9,26,0.78);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  display: flex; align-items: center; justify-content: center;
  animation: bgv3FadeIn .3s ease;
  padding: 20px;
}
@keyframes bgv3FadeIn { from { opacity: 0; } to { opacity: 1; } }
.bgv3-gate {
  width: 100%; max-width: 480px;
  padding: 24px;
  background: var(--bgv3-bg-card-strong);
  border: 1px solid var(--bgv3-glass-border-bright);
  border-radius: 22px;
  backdrop-filter: blur(40px) saturate(180%);
  -webkit-backdrop-filter: blur(40px) saturate(180%);
  animation: bgv3GateUp .35s var(--bgv3-spring);
}
@keyframes bgv3GateUp { from { opacity: 0; transform: translateY(20px) scale(.96); } to { opacity: 1; transform: translateY(0) scale(1); } }
.bgv3-gate-h { display: flex; align-items: center; gap: 12px; margin-bottom: 14px; }
.bgv3-gate-h .av {
  width: 40px; height: 40px; border-radius: 50%;
  background: linear-gradient(135deg, var(--bgv3-primary), var(--bgv3-primary-deep));
  display: flex; align-items: center; justify-content: center;
  color: white; font-weight: 800; font-size: 0.95rem; flex-shrink: 0;
}
.bgv3-gate-h .nm { font-size: 0.95rem; font-weight: 700; }
.bgv3-gate-h .nm small { display: block; font-size: 0.65rem; color: var(--bgv3-text-3); font-weight: 500; }
.bgv3-gate-msg { font-size: 0.86rem; line-height: 1.55; color: var(--bgv3-text-2); margin-bottom: 16px; }
.bgv3-gate-checks { display: flex; flex-direction: column; gap: 6px; margin-bottom: 18px; }
.bgv3-gate-check { display: flex; align-items: center; gap: 8px; font-size: 0.78rem; }
.bgv3-gate-check .ic { width: 18px; height: 18px; border-radius: 50%; display: flex; align-items: center; justify-content: center; flex-shrink: 0; font-size: 0.6rem; font-weight: 800; }
.bgv3-gate-check .ic.ok { background: rgba(52,211,153,0.20); color: var(--bgv3-green-bright); }
.bgv3-gate-check .ic.bad { background: rgba(248,113,113,0.20); color: var(--bgv3-red); }
.bgv3-gate-buttons { display: flex; gap: 10px; }
.bgv3-gate-buttons button {
  flex: 1; padding: 12px 16px; border: none; border-radius: 12px;
  font-family: inherit; font-size: 0.82rem; font-weight: 700; cursor: pointer;
  transition: transform .2s var(--bgv3-spring);
}
.bgv3-gate-buttons button:hover { transform: translateY(-1px); }
.bgv3-gate-go { background: linear-gradient(135deg, var(--bgv3-green-bright), var(--bgv3-green)); color: #052e1a; box-shadow: 0 6px 18px -6px rgba(52,211,153,0.55); }
.bgv3-gate-stop { background: rgba(255,255,255,0.06); border: 1px solid var(--bgv3-glass-border) !important; color: var(--bgv3-text-2); }

/* Esconder TUDO da página antiga SOMENTE em /bank e /trader-guardian (rotas V3) */
body.bgv3-page #pageContent .page > *:not(.bgv3-root) { display: none !important; }
