/* =====================================================================
   MESA V3 — Sala ao vivo dentro do Jose Trader OS
   Namespace: .mv-*
   Plug: lê window._derivBridge (já roda em background) pra pegar sinal
         dispara via /deriv-exec/trade (1-clique) ou mostra manual
   Anti-flicker: cache + hash skip + section diff + first-paint
===================================================================== */
:root{
  --mv-bg-deep:#050715;
  --mv-bg-card:rgba(15,18,48,0.78);
  --mv-bg-inner:rgba(8,9,30,0.65);
  --mv-glass:rgba(255,255,255,0.08);
  --mv-glass-bright:rgba(255,255,255,0.16);
  --mv-primary:#a78bfa;
  --mv-primary-bright:#c4b5fd;
  --mv-primary-deep:#7c3aed;
  --mv-accent:#22d3ee;
  --mv-accent-bright:#67e8f9;
  --mv-green:#34d399;
  --mv-green-bright:#6ee7b7;
  --mv-green-glow:#10b981;
  --mv-amber:#fbbf24;
  --mv-amber-bright:#fcd34d;
  --mv-red:#f87171;
  --mv-red-deep:#dc2626;
  --mv-pink:#f472b6;
  --mv-pink-bright:#f9a8d4;
  --mv-mt1:#f1f5f9;--mv-mt2:#cbd5e1;--mv-mt3:#94a3b8;--mv-mt4:#64748b;
  --mv-r-md:12px;--mv-r-lg:18px;--mv-r-xl:22px;
  --mv-spring:cubic-bezier(0.34,1.56,0.64,1);
  --mv-smooth:cubic-bezier(0.4,0,0.2,1);
}

.mv-page{
  color:var(--mv-mt1);
  -webkit-font-smoothing:antialiased;
  background-image:
    radial-gradient(1100px 700px at 12% 8%, rgba(124,58,237,0.18), transparent 60%),
    radial-gradient(900px 600px at 88% 92%, rgba(34,211,238,0.14), transparent 60%);
  min-height:100%;
  padding:20px;
}
.mv-first-paint{animation:mvPageIn 0.32s cubic-bezier(0.22,0.65,0.3,1) both}
@keyframes mvPageIn{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}

/* HEADER */
.mv-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px;padding:14px 20px;background:linear-gradient(135deg,rgba(124,58,237,0.12),rgba(34,211,238,0.08));border:1px solid var(--mv-glass-bright);border-radius:var(--mv-r-xl);position:relative;overflow:hidden}
.mv-head::before{content:"";position:absolute;top:0;right:0;width:50%;height:100%;background:radial-gradient(circle 380px at 100% 0%, rgba(167,139,250,0.20), transparent 70%);pointer-events:none}
.mv-head-l{display:flex;align-items:center;gap:14px;position:relative;z-index:1}
.mv-head-ic{width:44px;height:44px;border-radius:12px;background:linear-gradient(135deg,var(--mv-primary-deep),var(--mv-primary));display:flex;align-items:center;justify-content:center;font-size:22px;box-shadow:0 8px 24px -6px rgba(124,58,237,0.6)}
.mv-title h1{font-size:22px;font-weight:800;letter-spacing:-0.5px;line-height:1.1;background:linear-gradient(135deg,var(--mv-primary-bright),var(--mv-accent-bright));-webkit-background-clip:text;-webkit-text-fill-color:transparent}
.mv-title .sub{font-size:10px;color:var(--mv-mt3);margin-top:3px;letter-spacing:0.06em}
.mv-pills{display:flex;align-items:center;gap:8px;position:relative;z-index:1}
.mv-pill{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;border-radius:999px;font-size:10px;font-weight:700;letter-spacing:0.08em;text-transform:uppercase;border:1px solid}
.mv-pill.live{background:rgba(220,38,38,0.18);color:#fca5a5;border-color:rgba(220,38,38,0.4)}
.mv-pill.live.idle{background:rgba(100,116,139,0.18);color:var(--mv-mt3);border-color:rgba(100,116,139,0.35)}
.mv-pill .pd{width:7px;height:7px;border-radius:50%;background:currentColor;animation:mvPulse 1.6s infinite;box-shadow:0 0 0 0 currentColor}
@keyframes mvPulse{0%{box-shadow:0 0 0 0 currentColor}70%{box-shadow:0 0 0 10px transparent}100%{box-shadow:0 0 0 0 transparent}}
.mv-pill.stat{background:rgba(15,18,48,0.55);color:var(--mv-mt2);border-color:var(--mv-glass-bright);text-transform:none;letter-spacing:0.02em}
.mv-pill.stat b{color:var(--mv-mt1);font-weight:800;margin-left:4px}
.mv-pill.stat b.win{color:var(--mv-green-bright)}
.mv-pill.stat b.loss{color:var(--mv-red)}

/* HERO TIMING */
.mv-hero{margin-bottom:16px;padding:24px 28px;background:linear-gradient(135deg,rgba(52,211,153,0.18),rgba(34,211,238,0.10));border:2px solid rgba(52,211,153,0.45);border-radius:var(--mv-r-xl);display:grid;grid-template-columns:auto 1fr auto;gap:32px;align-items:center;position:relative;overflow:hidden;box-shadow:0 0 0 4px rgba(52,211,153,0.08), 0 18px 48px -12px rgba(16,185,129,0.4);transition:all .35s var(--mv-smooth)}
.mv-hero::before{content:"";position:absolute;inset:0;background:radial-gradient(circle 600px at 50% 0%, rgba(52,211,153,0.20), transparent 70%);pointer-events:none}
.mv-hero.warn{background:linear-gradient(135deg,rgba(251,191,36,0.18),rgba(245,158,11,0.10));border-color:rgba(251,191,36,0.5);box-shadow:0 0 0 4px rgba(251,191,36,0.08), 0 18px 48px -12px rgba(245,158,11,0.4)}
.mv-hero.warn::before{background:radial-gradient(circle 600px at 50% 0%, rgba(251,191,36,0.20), transparent 70%)}
.mv-hero.late{background:linear-gradient(135deg,rgba(248,113,113,0.18),rgba(220,38,38,0.10));border-color:rgba(248,113,113,0.5);box-shadow:0 0 0 4px rgba(248,113,113,0.08), 0 18px 48px -12px rgba(220,38,38,0.4)}
.mv-hero.late::before{background:radial-gradient(circle 600px at 50% 0%, rgba(248,113,113,0.20), transparent 70%)}
.mv-hero.idle{background:linear-gradient(135deg,rgba(100,116,139,0.12),rgba(71,85,105,0.06));border-color:rgba(100,116,139,0.35);box-shadow:none}
.mv-hero.idle::before{display:none}

.mv-countdown{position:relative;z-index:1;text-align:center;min-width:200px}
.mv-countdown .lbl{font-size:11px;letter-spacing:0.18em;color:var(--mv-mt2);font-weight:800;text-transform:uppercase;margin-bottom:4px}
.mv-countdown .time{font-size:84px;font-weight:900;line-height:1;letter-spacing:-3px;font-family:'SF Mono','Monaco',monospace;color:var(--mv-green-bright);text-shadow:0 0 32px rgba(110,231,183,0.5);font-variant-numeric:tabular-nums}
.mv-hero.warn .mv-countdown .time{color:var(--mv-amber-bright);text-shadow:0 0 32px rgba(252,211,77,0.5)}
.mv-hero.late .mv-countdown .time{color:var(--mv-red);text-shadow:0 0 32px rgba(248,113,113,0.5)}
.mv-hero.idle .mv-countdown .time{color:var(--mv-mt3);text-shadow:none;font-size:42px}
.mv-countdown .unit{font-size:14px;color:var(--mv-mt3);margin-top:2px;font-weight:600;letter-spacing:0.1em}

.mv-status-bar{display:flex;flex-direction:column;gap:14px;position:relative;z-index:1}
.mv-status-pill{display:inline-flex;align-items:center;gap:10px;padding:10px 18px;border-radius:999px;font-size:14px;font-weight:800;letter-spacing:0.04em;background:rgba(52,211,153,0.18);color:var(--mv-green-bright);border:1px solid rgba(52,211,153,0.45);align-self:flex-start}
.mv-status-pill .ic{font-size:18px}
.mv-hero.warn .mv-status-pill{background:rgba(251,191,36,0.18);color:var(--mv-amber-bright);border-color:rgba(251,191,36,0.45)}
.mv-hero.late .mv-status-pill{background:rgba(248,113,113,0.18);color:var(--mv-red);border-color:rgba(248,113,113,0.45)}
.mv-hero.idle .mv-status-pill{background:rgba(100,116,139,0.18);color:var(--mv-mt3);border-color:rgba(100,116,139,0.35)}

.mv-trade-info{display:grid;grid-template-columns:auto auto auto auto;gap:24px;align-items:end}
.mv-trade-info .item{display:flex;flex-direction:column;gap:3px}
.mv-trade-info .l{font-size:9px;letter-spacing:0.18em;color:var(--mv-mt4);font-weight:700;text-transform:uppercase}
.mv-trade-info .v{font-size:24px;font-weight:800;color:var(--mv-mt1);line-height:1;font-variant-numeric:tabular-nums}
.mv-trade-info .v.dir{color:var(--mv-red);font-size:30px;letter-spacing:1px}
.mv-trade-info .v.dir.call{color:var(--mv-green-bright)}
.mv-trade-info .v.pair{font-size:22px;letter-spacing:-0.5px}

.mv-ctas{display:flex;flex-direction:column;gap:10px;position:relative;z-index:1;min-width:260px}
.mv-cta-deriv{padding:16px 22px;border:0;border-radius:var(--mv-r-md);font-size:15px;font-weight:800;letter-spacing:0.04em;cursor:pointer;background:linear-gradient(135deg,var(--mv-green-glow),var(--mv-accent));color:#fff;box-shadow:0 10px 28px -6px rgba(16,185,129,0.6), inset 0 1px 0 rgba(255,255,255,0.2);transition:transform .2s var(--mv-spring), box-shadow .2s, opacity .2s;text-transform:uppercase;text-align:left;display:flex;align-items:center;gap:12px;font-family:inherit}
.mv-cta-deriv .b{font-size:18px}
.mv-cta-deriv .sb{display:block;font-size:10px;font-weight:600;color:rgba(255,255,255,0.85);text-transform:none;letter-spacing:0.04em;margin-top:2px}
.mv-cta-deriv:hover{transform:translateY(-2px) scale(1.01);box-shadow:0 16px 36px -6px rgba(16,185,129,0.8)}
.mv-cta-deriv:disabled{opacity:0.4;cursor:not-allowed;transform:none}

.mv-cta-manual{padding:14px 20px;border-radius:var(--mv-r-md);font-size:13px;font-weight:700;cursor:pointer;background:rgba(167,139,250,0.14);color:var(--mv-primary-bright);border:1px solid rgba(167,139,250,0.4);transition:all .2s;text-align:left;display:flex;align-items:center;gap:12px;font-family:inherit}
.mv-cta-manual .b{font-size:16px}
.mv-cta-manual .sb{display:block;font-size:10px;font-weight:600;color:var(--mv-mt3);text-transform:none;margin-top:2px}
.mv-cta-manual:hover{background:rgba(167,139,250,0.22);border-color:rgba(167,139,250,0.55)}

/* GRID */
.mv-grid{display:grid;grid-template-columns:380px 1fr 320px;gap:16px}
@media (max-width:1280px){.mv-grid{grid-template-columns:1fr}}

.mv-card{background:var(--mv-bg-card);backdrop-filter:blur(20px) saturate(140%);-webkit-backdrop-filter:blur(20px) saturate(140%);border:1px solid var(--mv-glass-bright);border-radius:var(--mv-r-xl);padding:20px;overflow:hidden;position:relative;display:flex;flex-direction:column;height:fit-content;max-height:calc(100vh - 360px)}
.mv-card::before{content:"";position:absolute;top:0;left:0;right:0;height:2px;background:linear-gradient(90deg,transparent,var(--mv-primary-bright),transparent);opacity:0.55}
.mv-card.green::before{background:linear-gradient(90deg,transparent,var(--mv-green-bright),transparent)}
.mv-card.cyan::before{background:linear-gradient(90deg,transparent,var(--mv-accent-bright),transparent)}

.mv-card-h{display:flex;align-items:center;gap:10px;margin-bottom:14px;font-size:11px;font-weight:800;letter-spacing:0.16em;text-transform:uppercase;color:var(--mv-mt2)}
.mv-card-h .ic{width:30px;height:30px;border-radius:9px;display:flex;align-items:center;justify-content:center;font-size:14px}
.mv-card-h .meta{margin-left:auto;font-size:10px;color:var(--mv-mt4);letter-spacing:0.08em;font-weight:600;text-transform:none}

/* CANDLE INFO 2x2 */
.mv-candle-info{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:14px}
.mv-candle-cell{padding:10px 12px;background:var(--mv-bg-inner);border:1px solid var(--mv-glass);border-radius:var(--mv-r-md)}
.mv-candle-cell .l{font-size:9px;color:var(--mv-mt4);letter-spacing:0.16em;text-transform:uppercase;font-weight:700;margin-bottom:3px}
.mv-candle-cell .v{font-size:15px;color:var(--mv-mt1);font-weight:800;font-variant-numeric:tabular-nums}
.mv-candle-cell .v.gr{color:var(--mv-green-bright)}
.mv-candle-cell .v.am{color:var(--mv-amber-bright)}
.mv-candle-cell .v.cy{color:var(--mv-accent-bright)}

/* PASSO-A-PASSO */
.mv-steps{display:flex;flex-direction:column;gap:10px;overflow-y:auto;padding-right:6px;flex:1}
.mv-step{display:flex;gap:12px;align-items:flex-start;padding:12px 14px;background:var(--mv-bg-inner);border:1px solid var(--mv-glass);border-radius:var(--mv-r-md);transition:all .2s}
.mv-step .num{width:26px;height:26px;border-radius:50%;background:rgba(167,139,250,0.18);color:var(--mv-primary-bright);font-weight:800;font-size:13px;display:flex;align-items:center;justify-content:center;flex-shrink:0;border:1px solid rgba(167,139,250,0.35)}
.mv-step .txt{font-size:13px;color:var(--mv-mt1);line-height:1.5}
.mv-step .txt b{color:var(--mv-accent-bright);font-weight:800}
.mv-step.urgent{background:linear-gradient(135deg,rgba(52,211,153,0.14),rgba(34,211,238,0.08));border-color:rgba(52,211,153,0.4)}
.mv-step.urgent .num{background:rgba(52,211,153,0.22);color:var(--mv-green-bright);border-color:rgba(52,211,153,0.5)}
.mv-step.urgent .txt b{color:var(--mv-green-bright)}

.mv-confirm{margin-top:12px;padding:14px;border-radius:var(--mv-r-md);background:rgba(34,211,238,0.10);border:1px dashed rgba(34,211,238,0.45)}
.mv-confirm-q{font-size:11px;color:var(--mv-accent-bright);font-weight:700;letter-spacing:0.06em;margin-bottom:8px;text-transform:uppercase}
.mv-confirm-btns{display:flex;gap:8px}
.mv-confirm-btn{flex:1;padding:10px;border:0;border-radius:8px;font-size:12px;font-weight:700;cursor:pointer;transition:all .2s;font-family:inherit}
.mv-confirm-btn.yes{background:rgba(52,211,153,0.18);color:var(--mv-green-bright);border:1px solid rgba(52,211,153,0.4)}
.mv-confirm-btn.no{background:rgba(248,113,113,0.10);color:var(--mv-red);border:1px solid rgba(248,113,113,0.3)}
.mv-confirm-btn:hover{transform:translateY(-1px)}

/* DEBATE */
.mv-chat-list{flex:1;overflow-y:auto;padding-right:8px;display:flex;flex-direction:column;gap:12px;scroll-behavior:smooth}
.mv-chat-list::-webkit-scrollbar{width:6px}
.mv-chat-list::-webkit-scrollbar-track{background:rgba(255,255,255,0.02);border-radius:3px}
.mv-chat-list::-webkit-scrollbar-thumb{background:rgba(167,139,250,0.4);border-radius:3px}
.mv-chat-list::-webkit-scrollbar-thumb:hover{background:rgba(167,139,250,0.6)}

.mv-msg{display:flex;gap:10px;align-items:flex-start;animation:mvIn .4s var(--mv-spring)}
@keyframes mvIn{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}
.mv-avatar{width:36px;height:36px;border-radius:50%;flex-shrink:0;display:flex;align-items:center;justify-content:center;font-size:16px;font-weight:800;border:2px solid;box-shadow:0 4px 14px -4px rgba(0,0,0,0.5)}
.mv-msg-body{flex:1;min-width:0}
.mv-msg-head{display:flex;align-items:center;gap:8px;margin-bottom:4px;flex-wrap:wrap}
.mv-msg-head .name{font-size:13px;font-weight:800}
.mv-msg-head .role{font-size:9px;color:var(--mv-mt4);text-transform:uppercase;letter-spacing:0.12em;font-weight:700;padding:2px 6px;border-radius:5px;background:rgba(255,255,255,0.04);border:1px solid var(--mv-glass)}
.mv-msg-text{font-size:13px;line-height:1.55;color:var(--mv-mt1);padding:10px 14px;border-radius:12px 12px 12px 4px;background:var(--mv-bg-inner);border:1px solid var(--mv-glass)}
.mv-msg-text b{color:var(--mv-accent-bright);font-weight:800}

.mv-msg.tecnico .mv-avatar{background:rgba(34,211,238,0.20);color:var(--mv-accent-bright);border-color:rgba(34,211,238,0.55)}
.mv-msg.tecnico .name{color:var(--mv-accent-bright)}
.mv-msg.sentimento .mv-avatar{background:rgba(167,139,250,0.20);color:var(--mv-primary-bright);border-color:rgba(167,139,250,0.55)}
.mv-msg.sentimento .name{color:var(--mv-primary-bright)}
.mv-msg.risco .mv-avatar{background:rgba(251,191,36,0.20);color:var(--mv-amber-bright);border-color:rgba(251,191,36,0.55)}
.mv-msg.risco .name{color:var(--mv-amber-bright)}
.mv-msg.contrarian .mv-avatar{background:rgba(244,114,182,0.20);color:var(--mv-pink-bright);border-color:rgba(244,114,182,0.55)}
.mv-msg.contrarian .name{color:var(--mv-pink-bright)}
.mv-msg.banca .mv-avatar{background:rgba(52,211,153,0.20);color:var(--mv-green-bright);border-color:rgba(52,211,153,0.55)}
.mv-msg.banca .name{color:var(--mv-green-bright)}
.mv-msg.banca .mv-msg-text{background:linear-gradient(135deg,rgba(52,211,153,0.14),rgba(34,211,238,0.08));border-color:rgba(52,211,153,0.4)}

/* PERSONAS LATERAL */
.mv-personas{display:flex;flex-direction:column;gap:8px;margin-bottom:14px}
.mv-persona{display:flex;align-items:center;gap:10px;padding:9px 12px;border-radius:var(--mv-r-md);background:var(--mv-bg-inner);border:1px solid var(--mv-glass);transition:all .25s}
.mv-persona.active{background:linear-gradient(135deg,rgba(52,211,153,0.16),rgba(34,211,238,0.10));border-color:rgba(52,211,153,0.45);box-shadow:0 0 0 2px rgba(52,211,153,0.16)}
.mv-persona-av{width:32px;height:32px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:15px;font-weight:800;border:2px solid transparent}
.mv-persona-info{flex:1;min-width:0}
.mv-persona-info .name{font-size:12px;font-weight:700;color:var(--mv-mt1)}
.mv-persona-info .status{font-size:9px;color:var(--mv-mt4);text-transform:uppercase;letter-spacing:0.12em;margin-top:2px;font-weight:700}
.mv-persona.active .status{color:var(--mv-green-bright)}

/* HISTÓRICO */
.mv-replay-h{font-size:10px;letter-spacing:0.16em;text-transform:uppercase;color:var(--mv-mt3);font-weight:800;margin:14px 0 8px}
.mv-replay-row{display:flex;flex-wrap:wrap;gap:6px}
.mv-replay-pill{padding:5px 10px;border-radius:8px;font-size:10px;font-weight:700;background:var(--mv-bg-inner);border:1px solid var(--mv-glass);cursor:pointer;display:inline-flex;align-items:center;gap:5px;color:var(--mv-mt2);transition:all .2s}
.mv-replay-pill:hover{border-color:var(--mv-glass-bright);background:rgba(255,255,255,0.04)}
.mv-replay-pill .dot{width:6px;height:6px;border-radius:50%}
.mv-replay-pill.win{border-color:rgba(52,211,153,0.35);background:rgba(52,211,153,0.10);color:var(--mv-green-bright)}
.mv-replay-pill.win .dot{background:var(--mv-green-bright)}
.mv-replay-pill.loss{border-color:rgba(248,113,113,0.35);background:rgba(248,113,113,0.10);color:var(--mv-red)}
.mv-replay-pill.loss .dot{background:var(--mv-red)}
.mv-replay-pill.skip .dot{background:var(--mv-mt4)}
.mv-replay-pill.skip{color:var(--mv-mt3)}

/* EMPTY STATE */
.mv-empty{padding:40px 20px;text-align:center;color:var(--mv-mt3);font-size:13px}
.mv-empty .ic{font-size:36px;margin-bottom:12px;opacity:0.6}
.mv-empty .t{font-size:15px;font-weight:700;color:var(--mv-mt2);margin-bottom:6px}

/* ═══ V4: CONTROL BAR — aluno escolhe mercado/ativo/tf/modo ═══ */
.mv-control{
  display:grid;grid-template-columns:200px 240px 130px 200px 1fr auto;
  gap:10px;align-items:end;
  padding:14px 18px;margin-bottom:14px;
  background:linear-gradient(135deg,rgba(167,139,250,0.10),rgba(34,211,238,0.06));
  border:1px solid var(--mv-glass-bright);
  border-radius:var(--mv-r-xl);
}
@media (max-width:1280px){
  .mv-control{grid-template-columns:1fr 1fr;gap:8px}
  .mv-btn-analyze{grid-column:1/-1}
}
.mv-control-grp{display:flex;flex-direction:column;gap:5px}
.mv-control-grp .l{font-size:9px;letter-spacing:0.16em;color:var(--mv-mt3);font-weight:800;text-transform:uppercase}
.mv-select{
  background:var(--mv-bg-inner);border:1px solid var(--mv-glass-bright);
  color:var(--mv-mt1);padding:10px 12px;border-radius:10px;font-size:13px;font-weight:600;
  font-family:inherit;width:100%;cursor:pointer;height:38px;
  appearance:none;-webkit-appearance:none;
  background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'><path fill='%2394a3b8' d='M6 8L0 0h12z'/></svg>");
  background-repeat:no-repeat;background-position:right 10px center;padding-right:30px;
}
.mv-select:focus{outline:0;border-color:var(--mv-accent-bright)}

/* Toggle Manual/Auto */
.mv-mode{display:flex;background:var(--mv-bg-inner);border:1px solid var(--mv-glass-bright);border-radius:10px;overflow:hidden;height:38px}
.mv-mode label{
  flex:1;display:flex;align-items:center;justify-content:center;gap:6px;
  font-size:11px;font-weight:700;cursor:pointer;color:var(--mv-mt3);
  transition:all .2s;letter-spacing:0.04em;text-transform:uppercase;
  user-select:none;
}
.mv-mode input{display:none}
.mv-mode input:checked + label{
  background:linear-gradient(135deg,rgba(34,211,238,0.20),rgba(167,139,250,0.15));
  color:var(--mv-accent-bright);
}

/* Botão Analisar */
.mv-btn-analyze{
  padding:0 22px;height:38px;border:0;border-radius:10px;font-size:13px;font-weight:800;
  letter-spacing:0.04em;cursor:pointer;
  background:linear-gradient(135deg,var(--mv-green-glow),var(--mv-accent));color:#fff;
  box-shadow:0 8px 22px -6px rgba(16,185,129,0.6), inset 0 1px 0 rgba(255,255,255,0.2);
  transition:transform .2s var(--mv-spring), box-shadow .2s, opacity .2s;
  text-transform:uppercase;display:flex;align-items:center;justify-content:center;gap:8px;font-family:inherit;
  white-space:nowrap;
}
.mv-btn-analyze:hover:not(:disabled){transform:translateY(-2px) scale(1.02);box-shadow:0 14px 30px -6px rgba(16,185,129,0.8)}
.mv-btn-analyze:disabled{opacity:0.6;cursor:wait}

/* Loop status pill */
.mv-loop-status{
  font-size:10px;font-weight:700;color:var(--mv-amber-bright);
  display:inline-flex;align-items:center;gap:6px;padding:9px 14px;height:38px;
  background:rgba(251,191,36,0.14);border:1px solid rgba(251,191,36,0.35);border-radius:999px;
  white-space:nowrap;align-self:end;letter-spacing:0.04em;
}
.mv-loop-status .pd{width:6px;height:6px;border-radius:50%;background:currentColor;animation:mvPulse 1.4s infinite}

/* HERO compactado (5 colunas info ao invés de 4) */
.mv-cd{position:relative;z-index:1;text-align:center;min-width:180px}
.mv-cd .lbl{font-size:10px;letter-spacing:0.16em;color:var(--mv-mt2);font-weight:800;text-transform:uppercase;margin-bottom:4px}
.mv-cd .time{font-size:72px;font-weight:900;line-height:1;letter-spacing:-3px;font-family:'SF Mono','Monaco',monospace;color:var(--mv-green-bright);text-shadow:0 0 32px rgba(110,231,183,0.5);font-variant-numeric:tabular-nums}
.mv-hero.warn .mv-cd .time{color:var(--mv-amber-bright);text-shadow:0 0 32px rgba(252,211,77,0.5)}
.mv-hero.late .mv-cd .time{color:var(--mv-red);text-shadow:0 0 32px rgba(248,113,113,0.5)}
.mv-hero.idle .mv-cd .time{color:var(--mv-mt3);text-shadow:none;font-size:42px}
.mv-cd .unit{font-size:12px;color:var(--mv-mt3);margin-top:2px;font-weight:600;letter-spacing:0.08em}

.mv-st{display:flex;flex-direction:column;gap:12px;position:relative;z-index:1}
.mv-st-pill{display:inline-flex;align-items:center;gap:8px;padding:9px 16px;border-radius:999px;font-size:13px;font-weight:800;background:rgba(52,211,153,0.18);color:var(--mv-green-bright);border:1px solid rgba(52,211,153,0.45);align-self:flex-start;letter-spacing:0.02em}
.mv-hero.warn .mv-st-pill{background:rgba(251,191,36,0.18);color:var(--mv-amber-bright);border-color:rgba(251,191,36,0.45)}
.mv-hero.late .mv-st-pill{background:rgba(248,113,113,0.18);color:var(--mv-red);border-color:rgba(248,113,113,0.45)}
.mv-hero.idle .mv-st-pill{background:rgba(100,116,139,0.18);color:var(--mv-mt2);border-color:rgba(100,116,139,0.4)}

.mv-info{display:grid;grid-template-columns:repeat(5,auto);gap:18px;align-items:end}
.mv-info .it{display:flex;flex-direction:column;gap:2px}
.mv-info .l{font-size:9px;letter-spacing:0.16em;color:var(--mv-mt4);font-weight:700;text-transform:uppercase}
.mv-info .v{font-size:20px;font-weight:800;color:var(--mv-mt1);line-height:1;font-variant-numeric:tabular-nums}
.mv-info .v.dir{color:var(--mv-red);font-size:24px;letter-spacing:1px}
.mv-info .v.dir.call{color:var(--mv-green-bright)}

.mv-cta{display:flex;flex-direction:column;gap:8px;position:relative;z-index:1;min-width:240px}
.mv-cta button{padding:13px 18px;border-radius:11px;font-size:13px;font-weight:800;cursor:pointer;text-transform:uppercase;letter-spacing:0.04em;border:0;font-family:inherit;display:flex;align-items:center;gap:10px;transition:all .2s var(--mv-spring);text-align:left}
.mv-cta .b{font-size:16px}
.mv-cta .sb{display:block;font-size:10px;font-weight:600;text-transform:none;margin-top:2px;letter-spacing:0.02em;opacity:0.85}

/* CDL = candle info pequena no manual */
.mv-cdl{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:12px}
.mv-cdl-c{padding:10px 12px;background:var(--mv-bg-inner);border:1px solid var(--mv-glass);border-radius:var(--mv-r-md)}
.mv-cdl-c .l{font-size:9px;color:var(--mv-mt4);letter-spacing:0.14em;text-transform:uppercase;font-weight:700;margin-bottom:3px}
.mv-cdl-c .v{font-size:14px;color:var(--mv-mt1);font-weight:800;font-variant-numeric:tabular-nums}
.mv-cdl-c .v.gr{color:var(--mv-green-bright)}
.mv-cdl-c .v.am{color:var(--mv-amber-bright)}
.mv-cdl-c .v.cy{color:var(--mv-accent-bright)}

/* Mensagens (renome dos seletores: mv-av/mb/mh/mt) */
.mv-av{width:34px;height:34px;border-radius:50%;flex-shrink:0;display:flex;align-items:center;justify-content:center;font-size:15px;font-weight:800;border:2px solid;box-shadow:0 4px 14px -4px rgba(0,0,0,0.5)}
.mv-mb{flex:1;min-width:0}
.mv-mh{display:flex;align-items:center;gap:8px;margin-bottom:4px;flex-wrap:wrap}
.mv-mh .name{font-size:13px;font-weight:800}
.mv-mh .role{font-size:9px;color:var(--mv-mt4);text-transform:uppercase;letter-spacing:0.12em;font-weight:700;padding:2px 6px;border-radius:5px;background:rgba(255,255,255,0.04);border:1px solid var(--mv-glass)}
.mv-mh .score{font-size:9px;color:var(--mv-mt3);font-weight:700;margin-left:auto;letter-spacing:0.04em}
.mv-mh .score b{color:var(--mv-accent-bright);font-size:10px}
.mv-mt{font-size:13px;line-height:1.55;color:var(--mv-mt1);padding:10px 14px;border-radius:12px 12px 12px 4px;background:var(--mv-bg-inner);border:1px solid var(--mv-glass)}
.mv-mt b{color:var(--mv-accent-bright);font-weight:800}
.mv-msg.tecnico .mv-av{background:rgba(34,211,238,0.20);color:var(--mv-accent-bright);border-color:rgba(34,211,238,0.55)}
.mv-msg.sentimento .mv-av{background:rgba(167,139,250,0.20);color:var(--mv-primary-bright);border-color:rgba(167,139,250,0.55)}
.mv-msg.risco .mv-av{background:rgba(251,191,36,0.20);color:var(--mv-amber-bright);border-color:rgba(251,191,36,0.55)}
.mv-msg.contrarian .mv-av{background:rgba(244,114,182,0.20);color:var(--mv-pink-bright);border-color:rgba(244,114,182,0.55)}
.mv-msg.banca .mv-av{background:rgba(52,211,153,0.20);color:var(--mv-green-bright);border-color:rgba(52,211,153,0.55)}

/* Persona scores (nova coluna lateral) */
.mv-personas .mv-persona{display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:var(--mv-r-md);background:var(--mv-bg-inner);border:1px solid var(--mv-glass);transition:all .25s}
.mv-persona-info{flex:1;min-width:0}
.mv-persona-info .name{font-size:12px;font-weight:700;color:var(--mv-mt1)}
.mv-persona-info .blk{font-size:9px;color:var(--mv-mt4);text-transform:uppercase;letter-spacing:0.10em;margin-top:2px;font-weight:700;font-family:'SF Mono','Monaco',monospace}
.mv-persona-score{
  font-size:14px;font-weight:800;color:var(--mv-green-bright);
  font-variant-numeric:tabular-nums;letter-spacing:-0.5px;
  min-width:36px;text-align:right;
}
.mv-persona-score.low{color:var(--mv-red)}
.mv-persona-score.mid{color:var(--mv-amber-bright)}

/* ═══════════════════════════════════════════════════════════════════
 * MESA — MOBILE PREMIUM PATCH (≤768px)
 * Adicionado em 2026-05-02. Override seguro no FINAL deste CSS.
 * Escopo absoluto: namespace .mv-* (rota /mesa renderizada por mesa_v3.js).
 * Esses seletores não existem em outras rotas → impacto ZERO.
 * Desktop (≥769px) intocado pela media query.
 * ═══════════════════════════════════════════════════════════════════ */
@media (max-width: 768px){
  /* ── Página ───────────────────────────────────────── */
  .mv-page{
    padding: 12px !important;
    background-image:
      radial-gradient(700px 500px at 12% 8%, rgba(124,58,237,0.12), transparent 60%),
      radial-gradient(600px 400px at 88% 92%, rgba(34,211,238,0.08), transparent 60%) !important;
  }
  .mv-page * { min-width: 0; }
  .mv-first-paint{ animation: none !important; } /* anti-flicker no toque */

  /* ── HEADER ───────────────────────────────────────── */
  .mv-head{
    flex-direction: column !important;
    align-items: flex-start !important;
    gap: 10px !important;
    padding: 12px 14px !important;
    border-radius: 16px !important;
    margin-bottom: 12px !important;
  }
  .mv-head::before{ display: none !important; } /* gradiente radial pesado */
  .mv-head-l{ gap: 10px !important; width: 100% !important; min-width: 0 !important; }
  .mv-head-ic{ width: 36px !important; height: 36px !important; font-size: 18px !important; box-shadow: 0 4px 14px -4px rgba(124,58,237,0.45) !important; }
  .mv-title h1{ font-size: 1.15rem !important; word-break: break-word !important; }
  .mv-title .sub{ font-size: 9px !important; margin-top: 2px !important; }
  .mv-pills{
    width: 100% !important;
    gap: 6px !important;
    flex-wrap: wrap !important;
  }
  .mv-pill{
    padding: 5px 10px !important;
    font-size: 9px !important;
    letter-spacing: 0.06em !important;
  }
  .mv-pill .pd{ width: 5px !important; height: 5px !important; animation-duration: 2.4s !important; }

  /* ── HERO TIMING ──────────────────────────────────── */
  .mv-hero{
    grid-template-columns: 1fr !important;
    gap: 12px !important;
    padding: 14px !important;
    border-radius: 16px !important;
    border-width: 1px !important;
    box-shadow: 0 0 0 2px rgba(52,211,153,0.06), 0 8px 22px -10px rgba(16,185,129,0.30) !important;
  }
  .mv-hero.warn{ box-shadow: 0 0 0 2px rgba(251,191,36,0.06), 0 8px 22px -10px rgba(245,158,11,0.30) !important; }
  .mv-hero.late{ box-shadow: 0 0 0 2px rgba(248,113,113,0.06), 0 8px 22px -10px rgba(220,38,38,0.30) !important; }
  .mv-hero::before{ display: none !important; }

  /* Countdown (usado pelo .mv-countdown E pelo .mv-cd) */
  .mv-countdown, .mv-cd{
    min-width: 0 !important;
    text-align: center !important;
  }
  .mv-countdown .lbl, .mv-cd .lbl{
    font-size: 10px !important; letter-spacing: 0.14em !important; margin-bottom: 2px !important;
  }
  .mv-countdown .time, .mv-cd .time{
    font-size: 50px !important;
    letter-spacing: -1.5px !important;
    text-shadow: 0 0 18px rgba(110,231,183,0.45) !important;
  }
  .mv-hero.idle .mv-countdown .time, .mv-hero.idle .mv-cd .time{ font-size: 28px !important; }
  .mv-countdown .unit, .mv-cd .unit{ font-size: 11px !important; }

  /* Status bar (.mv-status-bar / .mv-st) */
  .mv-status-bar, .mv-st{ gap: 8px !important; }
  .mv-status-pill, .mv-st-pill{
    font-size: 11px !important;
    padding: 7px 12px !important;
    align-self: stretch !important;
    justify-content: center !important;
    word-break: break-word !important;
    line-height: 1.35 !important;
    text-align: center !important;
    white-space: normal !important;
  }
  .mv-status-pill .ic{ font-size: 14px !important; flex-shrink: 0 !important; }

  /* Trade info (.mv-trade-info 4 cols / .mv-info 5 cols) → 2 cols mobile */
  .mv-trade-info, .mv-info{
    grid-template-columns: 1fr 1fr !important;
    gap: 10px !important;
    align-items: start !important;
  }
  .mv-trade-info .item, .mv-info .it{ min-width: 0 !important; overflow: hidden !important; }
  .mv-trade-info .l, .mv-info .l{
    font-size: 8.5px !important; letter-spacing: 0.12em !important;
  }
  .mv-trade-info .v, .mv-info .v{
    font-size: 14px !important;
    word-break: break-word !important;
    white-space: normal !important;
  }
  .mv-trade-info .v.dir, .mv-info .v.dir{ font-size: 18px !important; }
  .mv-trade-info .v.pair{ font-size: 14px !important; }

  /* CTAs (.mv-ctas / .mv-cta) — full-width touch-friendly */
  .mv-ctas, .mv-cta{
    min-width: 0 !important;
    width: 100% !important;
    gap: 8px !important;
  }
  .mv-cta-deriv{
    padding: 12px 14px !important;
    font-size: 13px !important;
    box-shadow: 0 6px 18px -6px rgba(16,185,129,0.45) !important;
    min-height: 48px !important;
  }
  .mv-cta-deriv:hover{ transform: none !important; box-shadow: 0 6px 18px -6px rgba(16,185,129,0.55) !important; }
  .mv-cta-deriv .b{ font-size: 15px !important; }
  .mv-cta-deriv .sb{ font-size: 9px !important; }
  .mv-cta-manual{
    padding: 11px 14px !important;
    font-size: 12px !important;
    min-height: 44px !important;
  }
  .mv-cta-manual .b{ font-size: 14px !important; }
  .mv-cta-manual .sb{ font-size: 9px !important; }
  .mv-cta button{
    padding: 11px 14px !important;
    font-size: 12px !important;
    min-height: 44px !important;
  }
  .mv-cta button:hover{ transform: none !important; }
  .mv-cta .b{ font-size: 14px !important; }
  .mv-cta .sb{ font-size: 9px !important; }

  /* ── CONTROL BAR (mercado/ativo/tf/modo/analyze) ──── */
  .mv-control{
    grid-template-columns: 1fr 1fr !important;
    gap: 7px !important;
    padding: 10px 12px !important;
    border-radius: 14px !important;
    margin-bottom: 12px !important;
  }
  .mv-control-grp{ gap: 3px !important; min-width: 0 !important; }
  .mv-control-grp .l{ font-size: 8.5px !important; letter-spacing: 0.12em !important; }
  .mv-select{
    height: 36px !important;
    font-size: 12px !important;
    padding: 8px 26px 8px 10px !important;
    border-radius: 9px !important;
  }
  .mv-mode{ height: 36px !important; }
  .mv-mode label{ font-size: 10px !important; gap: 4px !important; }
  .mv-btn-analyze{
    grid-column: 1 / -1 !important;
    height: 44px !important;
    font-size: 13px !important;
    padding: 0 18px !important;
    box-shadow: 0 6px 16px -6px rgba(16,185,129,0.5) !important;
  }
  .mv-btn-analyze:hover:not(:disabled){ transform: none !important; }
  .mv-loop-status{
    grid-column: 1 / -1 !important;
    height: 32px !important;
    font-size: 9.5px !important;
    padding: 7px 12px !important;
    align-self: stretch !important;
    justify-content: center !important;
  }

  /* ── GRID PRINCIPAL (3-col → 1-col já cobre 1280px, refino mobile) ── */
  .mv-grid{ grid-template-columns: 1fr !important; gap: 12px !important; }

  /* ── CARDS ────────────────────────────────────────── */
  .mv-card{
    padding: 14px !important;
    border-radius: 14px !important;
    max-height: none !important;          /* libera scroll natural */
    backdrop-filter: blur(10px) saturate(120%) !important;
    -webkit-backdrop-filter: blur(10px) saturate(120%) !important;
  }
  .mv-card-h{
    margin-bottom: 10px !important;
    flex-wrap: wrap !important;
    gap: 8px !important;
    font-size: 10px !important;
    letter-spacing: 0.12em !important;
  }
  .mv-card-h .ic{ width: 26px !important; height: 26px !important; font-size: 13px !important; }
  .mv-card-h .meta{ font-size: 9px !important; letter-spacing: 0.08em !important; }

  /* Candle info 2x2 (.mv-candle-info / .mv-cdl) */
  .mv-candle-info, .mv-cdl{ gap: 6px !important; margin-bottom: 10px !important; }
  .mv-candle-cell, .mv-cdl-c{ padding: 8px 10px !important; border-radius: 9px !important; }
  .mv-candle-cell .l, .mv-cdl-c .l{ font-size: 8.5px !important; letter-spacing: 0.12em !important; }
  .mv-candle-cell .v, .mv-cdl-c .v{ font-size: 13px !important; word-break: break-word !important; }

  /* PASSO-A-PASSO */
  .mv-steps{ gap: 8px !important; }
  .mv-step{
    padding: 10px 12px !important;
    gap: 10px !important;
    border-radius: 9px !important;
  }
  .mv-step .num{ width: 22px !important; height: 22px !important; font-size: 11px !important; }
  .mv-step .txt{ font-size: 12px !important; line-height: 1.45 !important; word-break: break-word !important; overflow-wrap: anywhere !important; }
  .mv-confirm{ padding: 12px !important; margin-top: 10px !important; }
  .mv-confirm-q{ font-size: 10px !important; margin-bottom: 7px !important; }
  .mv-confirm-btn{ padding: 11px 8px !important; font-size: 11px !important; min-height: 40px !important; }
  .mv-confirm-btn:hover{ transform: none !important; }

  /* DEBATE / CHAT */
  .mv-chat-list{ gap: 10px !important; padding-right: 4px !important; }
  .mv-msg{ gap: 8px !important; }
  .mv-msg{ animation: none !important; opacity: 1 !important; transform: none !important; }
  .mv-avatar, .mv-av{
    width: 30px !important; height: 30px !important;
    font-size: 13px !important;
    border-width: 1.5px !important;
  }
  .mv-msg-body, .mv-mb{ min-width: 0 !important; }
  .mv-msg-head, .mv-mh{ gap: 6px !important; margin-bottom: 3px !important; }
  .mv-msg-head .name, .mv-mh .name{ font-size: 11px !important; word-break: break-word !important; }
  .mv-msg-head .role, .mv-mh .role{ font-size: 8.5px !important; padding: 1px 5px !important; letter-spacing: 0.08em !important; }
  .mv-mh .score{ font-size: 8.5px !important; }
  .mv-mh .score b{ font-size: 9.5px !important; }
  .mv-msg-text, .mv-mt{
    font-size: 12px !important;
    line-height: 1.5 !important;
    padding: 8px 11px !important;
    word-break: break-word !important;
    overflow-wrap: anywhere !important;
  }

  /* PERSONAS LATERAL */
  .mv-personas{ gap: 6px !important; margin-bottom: 10px !important; }
  .mv-persona{ padding: 8px 10px !important; gap: 8px !important; border-radius: 9px !important; }
  .mv-persona-av{ width: 28px !important; height: 28px !important; font-size: 13px !important; }
  .mv-persona-info .name{ font-size: 11px !important; word-break: break-word !important; }
  .mv-persona-info .status, .mv-persona-info .blk{ font-size: 8.5px !important; letter-spacing: 0.08em !important; }
  .mv-persona-score{ font-size: 12px !important; min-width: 30px !important; }

  /* HISTÓRICO (replay) */
  .mv-replay-h{ font-size: 9px !important; letter-spacing: 0.12em !important; margin: 10px 0 6px !important; }
  .mv-replay-row{ gap: 5px !important; }
  .mv-replay-pill{ padding: 4px 8px !important; font-size: 9px !important; }
  .mv-replay-pill .dot{ width: 5px !important; height: 5px !important; }

  /* EMPTY */
  .mv-empty{ padding: 28px 14px !important; font-size: 12px !important; }
  .mv-empty .ic{ font-size: 28px !important; margin-bottom: 8px !important; }
  .mv-empty .t{ font-size: 13px !important; }

  /* SAFETY: nada estoura a tela */
  .mv-page, .mv-head, .mv-hero, .mv-control, .mv-grid, .mv-card,
  .mv-candle-info, .mv-cdl, .mv-trade-info, .mv-info,
  .mv-ctas, .mv-cta, .mv-steps, .mv-chat-list,
  .mv-personas, .mv-persona, .mv-replay-row{
    max-width: 100% !important;
    box-sizing: border-box !important;
  }
}

@media (max-width: 480px){
  .mv-page{ padding: 10px !important; }
  .mv-title h1{ font-size: 1.05rem !important; }
  .mv-countdown .time, .mv-cd .time{ font-size: 42px !important; letter-spacing: -1px !important; }
  .mv-hero.idle .mv-countdown .time, .mv-hero.idle .mv-cd .time{ font-size: 24px !important; }
  /* Trade info → 1 coluna em telas muito pequenas */
  .mv-trade-info, .mv-info{ grid-template-columns: 1fr !important; }
  .mv-trade-info .v, .mv-info .v{ font-size: 13px !important; }
  /* Control bar → 1 coluna */
  .mv-control{ grid-template-columns: 1fr !important; }
  .mv-cta-deriv{ font-size: 12px !important; padding: 11px 13px !important; }
  .mv-cta-deriv .b{ font-size: 14px !important; }
  /* Step text um pouco menor */
  .mv-step .txt{ font-size: 11.5px !important; }
}
/* MESA_PREMIUM_v1 END */
