/* =========================================================
   MOLDI — tema light + shell de SaaS (sidebar + topbar + dashboard)
   Carregado DEPOIS de style.css/app.css: remapeia as variáveis pro
   visual Moldi (roxo/lima/claro) e adiciona o layout de plataforma.
   ========================================================= */

:root {
  /* Fundo claro */
  --bg-0: #f5f6fb;
  --bg-1: #f8f9fd;
  --bg-2: #ffffff;
  --bg-3: #eef0f8;

  /* Roxo Moldi (mapeado no lugar do "ice") */
  --ice-100: #efeaff;
  --ice-200: #d9cfff;
  --ice-300: #a892ff;
  --ice-400: #6c4cf5;
  --ice-500: #5b3df5;
  --ice-600: #4a2fe0;
  --ice-glow: rgba(108, 76, 245, 0.35);

  /* Lima Moldi (no lugar do "gold") */
  --gold-300: #cfff7a;
  --gold-400: #b4ff3d;
  --gold-500: #a3f029;

  /* Texto escuro */
  --text-hi: #171a2b;
  --text: #3c4257;
  --text-dim: #6b7280;
  --text-faint: #9aa3b2;

  /* Cartões brancos */
  --glass: #ffffff;
  --glass-2: #ffffff;
  --stroke: #e8eaf2;
  --stroke-hi: #dcd6fb;

  --shadow: 0 10px 30px -12px rgba(23, 26, 43, 0.12);
  --shadow-glow: 0 10px 30px -8px var(--ice-glow);
}

/* Base clara */
body {
  background: var(--bg-0) !important;
  color: var(--text);
}
#frost-canvas { display: none !important; } /* partículas escuras não combinam com o light */

/* Cartões de vidro -> cartões brancos com sombra suave */
.glass { background: #fff; border: 1px solid var(--stroke); box-shadow: var(--shadow); backdrop-filter: none; }
.glass::before { display: none; }

/* Botões */
.btn-primary { color: #fff; background: linear-gradient(120deg, #7a5cff, #6c4cf5); box-shadow: 0 8px 20px -8px var(--ice-glow); }
.btn-primary:hover { filter: brightness(1.04); }
.btn-gold { color: #223400; background: linear-gradient(120deg, #c6ff5e, #b4ff3d); box-shadow: 0 8px 20px -8px rgba(180,255,61,.5); }
.btn-ghost { color: var(--text); background: #fff; border: 1px solid var(--stroke); }
.btn-ghost:hover { border-color: var(--stroke-hi); background: #faf9ff; }

.grad { background: linear-gradient(120deg, #6c4cf5, #9a7bff); -webkit-background-clip: text; background-clip: text; color: transparent; }
.grad-gold { background: linear-gradient(120deg, #8bcf1e, #6faa00); -webkit-background-clip: text; background-clip: text; color: transparent; }
.eyebrow { color: var(--ice-500); background: #efeaff; border-color: var(--stroke-hi); }

/* Inputs claros */
.url-input { background: #fff; border: 1px solid var(--stroke); color: var(--text-hi); }
.url-input::placeholder { color: var(--text-faint); }
.url-input:focus { border-color: var(--ice-400); box-shadow: 0 0 0 4px rgba(108,76,245,.12); }

/* ============ SHELL (sidebar + topbar) ============ */
.moldi-shell { display: grid; grid-template-columns: 248px 1fr; min-height: 100vh; }

.sidebar { background: #fff; border-right: 1px solid var(--stroke); display: flex; flex-direction: column; padding: 22px 16px; position: sticky; top: 0; height: 100vh; }
.sidebar-logo { display: flex; align-items: center; gap: 10px; padding: 4px 8px 22px; }
.sidebar-logo svg { width: 34px; height: 34px; }
.sidebar-logo .wm { font-family: var(--font-display); font-weight: 700; font-size: 1.35rem; color: #6c4cf5; letter-spacing: -0.02em; }
/* Anula a navbar ESCURA da landing (style.css .nav) quando dentro da sidebar */
.sidebar .nav { position: static; background: none; backdrop-filter: none; border: 0; box-shadow: none; height: auto; }
.nav { display: flex; flex-direction: column; gap: 4px; }
.nav-item { display: flex; align-items: center; gap: 12px; padding: 11px 14px; border-radius: 12px; color: #232838; font-weight: 600; font-size: .95rem; cursor: pointer; border: none; background: none; text-align: left; width: 100%; transition: background .15s, color .15s; }
.nav-item .ni-ico { width: 20px; height: 20px; flex: 0 0 auto; font-size: 1.05rem; }
.nav-item:hover { background: #f2f1ff; color: #171a2b; }
.nav-item.active { background: #efeaff; color: #5b3df5; font-weight: 700; }

/* Badge de créditos legível (o remapeamento gold→lima quebrava o contraste) */
.creditos-badge { color: #35600a; background: #edfbd0; border: 1px solid #ccec8d; font-weight: 700; }
.creditos-badge.zero { color: #b91c1c; background: #fde8e8; border-color: #f6b9b9; }
.sidebar-foot { margin-top: auto; }
.refer-card { background: linear-gradient(160deg, #f2efff, #eee9ff); border: 1px solid var(--stroke-hi); border-radius: 14px; padding: 16px; margin-bottom: 12px; }
.refer-card h5 { font-size: .9rem; color: var(--text-hi); margin-bottom: 4px; }
.refer-card p { font-size: .78rem; color: var(--text-dim); margin-bottom: 10px; }
.help-link { display: flex; align-items: center; gap: 10px; color: var(--text-dim); font-size: .9rem; padding: 8px 10px; text-decoration: none; }

.main-col { display: flex; flex-direction: column; min-width: 0; }
.topbar { display: flex; align-items: center; gap: 18px; padding: 16px 28px; background: rgba(248,249,253,.9); backdrop-filter: blur(8px); border-bottom: 1px solid var(--stroke); position: sticky; top: 0; z-index: 30; }
.topbar .search { flex: 1; max-width: 520px; display: flex; align-items: center; gap: 10px; background: #fff; border: 1px solid var(--stroke); border-radius: 12px; padding: 10px 14px; color: var(--text-faint); font-size: .92rem; }
.topbar .search input { border: none; outline: none; background: none; flex: 1; font-size: .92rem; color: var(--text-hi); }
.topbar .spacer { flex: 1; }
.topbar .avatar { width: 40px; height: 40px; border-radius: 50%; background: linear-gradient(135deg, #7a5cff, #6c4cf5); display: grid; place-items: center; color: #fff; font-weight: 700; }
.icon-btn { width: 40px; height: 40px; border-radius: 12px; border: 1px solid var(--stroke); background: #fff; display: grid; place-items: center; cursor: pointer; color: var(--text-dim); }

.content { padding: 28px; max-width: 1280px; width: 100%; }
.page[hidden] { display: none; }
.page-title { font-size: 1.7rem; margin-bottom: 22px; }

/* ============ DASHBOARD ============ */
.metrics-row { display: grid; grid-template-columns: repeat(4, 1fr); gap: 18px; margin-bottom: 22px; }
.metric-card { background: #fff; border: 1px solid var(--stroke); border-radius: 16px; padding: 20px 22px; box-shadow: var(--shadow); }
.metric-card .mc-top { display: flex; align-items: center; gap: 10px; color: var(--text-dim); font-size: .9rem; margin-bottom: 10px; }
.metric-card .mc-ico { width: 34px; height: 34px; border-radius: 10px; display: grid; place-items: center; background: #efeaff; color: #6c4cf5; }
.metric-card .mc-val { font-family: var(--font-display); font-weight: 700; font-size: 1.7rem; color: var(--text-hi); }
.metric-card .mc-delta { font-size: .82rem; margin-top: 6px; }
.mc-delta.up { color: #16a34a; }
.mc-delta.down { color: #e11d48; }
.mc-delta .muted { color: var(--text-faint); }

.dash-mid { display: grid; grid-template-columns: 1.5fr 1fr; gap: 18px; margin-bottom: 22px; }
.chart-card, .cta-card { background: #fff; border: 1px solid var(--stroke); border-radius: 16px; padding: 22px; box-shadow: var(--shadow); }
.chart-head { display: flex; align-items: center; justify-content: space-between; margin-bottom: 16px; }
.chart-head h3 { font-size: 1.05rem; }
.chart-svg { width: 100%; height: 220px; }
.cta-card { background: linear-gradient(160deg, #f4f1ff, #efeaff); border-color: var(--stroke-hi); }
.cta-card h3 { font-size: 1.15rem; margin-bottom: 8px; }
.cta-card p { font-size: .9rem; color: var(--text-dim); margin-bottom: 14px; }
.cta-list { list-style: none; display: flex; flex-direction: column; gap: 8px; margin-bottom: 18px; }
.cta-list li { display: flex; align-items: center; gap: 8px; font-size: .88rem; color: var(--text); }
.cta-list li::before { content: "✓"; color: #6c4cf5; font-weight: 700; }

.recent-card { background: #fff; border: 1px solid var(--stroke); border-radius: 16px; box-shadow: var(--shadow); overflow: hidden; }
.recent-head { display: flex; align-items: center; justify-content: space-between; padding: 20px 22px; border-bottom: 1px solid var(--stroke); }
.recent-head h3 { font-size: 1.1rem; }
.dash-table { width: 100%; border-collapse: collapse; }
.dash-table th { text-align: left; font-size: .78rem; text-transform: uppercase; letter-spacing: .04em; color: var(--text-faint); padding: 12px 22px; font-weight: 600; }
.dash-table td { padding: 14px 22px; border-top: 1px solid var(--stroke); font-size: .9rem; color: var(--text); }
.f-name { display: flex; align-items: center; gap: 12px; }
.f-badge { width: 38px; height: 38px; border-radius: 10px; display: grid; place-items: center; color: #fff; font-weight: 700; font-size: .8rem; background: linear-gradient(135deg, #7a5cff, #6c4cf5); }
.f-name b { color: var(--text-hi); display: block; }
.f-name small { color: var(--text-faint); }
.chip { font-size: .78rem; font-weight: 600; padding: 4px 10px; border-radius: 999px; }
.chip.ativo { color: #16a34a; background: #dcfce7; }
.chip.pausado { color: #c2620a; background: #ffedd5; }

.empty-note { padding: 26px; text-align: center; color: var(--text-dim); font-size: .92rem; }

/* ============ POLIMENTO: componentes internos da ferramenta ============ */
/* Chips do input */
.chip { background: #f2f1ff; color: #2b3040; border-color: var(--stroke); }
.chip:hover { color: #5b3df5; border-color: var(--ice-400); }
.chip.example { background: #edfbd0; color: #35600a; border-color: #ccec8d; }
.chip.example:hover { color: #2a4d00; }

/* Insets escuros -> claros */
.funil-item, .proc-steps li, .copy-card, .cp-val, .cp-field .ad-copy, .co-item, .co-delivery,
.m-plan, .ad-body, .browser-bar .url, .proc-bar { background: #f6f7fc; color: var(--text); }
.ad-foot { background: #f2f3fa; border-color: var(--stroke); }
.browser-bar { background: #f6f7fc; border-color: var(--stroke); }
.proc-bar { background: #ece9fb; }

/* Inputs/selects claros */
.var-count-label select, .pe-fld input[type="text"] { background: #fff; color: var(--text-hi); border-color: var(--stroke); }

/* Pílulas/acentos ciano -> roxo legível */
.tag2, .mini-btn, .cp-copy, .dom-badge, .co-link { background: #efeaff; color: #5b3df5; border-color: var(--stroke-hi); }
.mini-btn:hover, .cp-copy:hover { background: #e4dfff; }
.tab .n { background: #efeaff; color: #5b3df5; }
.copy-btn { color: var(--text); }
.copy-btn:hover { background: #efeaff; }

/* Abas */
.tab { color: var(--text-dim); }
.tab:hover { color: #5b3df5; }
.tab.active { color: #5b3df5; border-bottom-color: #6c4cf5; }

/* Rótulos e detalhes */
.field-label { color: #6c4cf5; }
.co-pending { background: #fff7e6; border-color: #f5d98a; color: #8a5a00; }
.co-ok { color: #16a34a; }
.dl-fld .url-input, .co-connect .url-input { background: #fff; }

/* Esteira editável */
.funnel-step.entry .fs-icon { background: #efeaff; }
.funnel-step.up .fs-icon { background: #edfbd0; }
.funnel-step [contenteditable]:hover { background: #f2f1ff; }
.funnel-step [contenteditable]:focus { background: #e9e5ff; box-shadow: 0 0 0 1px var(--stroke-hi); }
.fs-del { background: #f2f1ff; color: var(--text-dim); border-color: var(--stroke); }
.fs-del:hover { background: #ff5f57; color: #fff; }

/* Plano principal no preview da página */
.m-plan.main { border-color: #6c4cf5; background: #efeaff; box-shadow: 0 0 24px -12px var(--ice-glow); }

/* Split bar */
.split-bar .seg.voce { background: linear-gradient(90deg, #c6ff5e, #b4ff3d); color: #223400; }

/* Créditos badge (topbar) */
.creditos-badge { color: #35600a; background: #edfbd0; border: 1px solid #ccec8d; }

@media (max-width: 1000px) {
  .moldi-shell { grid-template-columns: 1fr; }
  .sidebar { position: static; height: auto; flex-direction: row; flex-wrap: wrap; overflow-x: auto; }
  .metrics-row { grid-template-columns: 1fr 1fr; }
  .dash-mid { grid-template-columns: 1fr; }
}

/* ===== Minerador (aba de instalação da extensão) ===== */
.mnr-steps { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; max-width: 980px; }
@media (max-width: 820px) { .mnr-steps { grid-template-columns: 1fr; } }
.mnr-card {
  position: relative; background: #fff; border: 1px solid #eceafb;
  border-radius: 16px; padding: 22px 18px 20px; box-shadow: 0 6px 20px rgba(60,40,120,.06);
}
.mnr-card .mnr-num {
  width: 34px; height: 34px; border-radius: 10px; background: #efeaff; color: #5b3df5;
  font-weight: 800; display: flex; align-items: center; justify-content: center; margin-bottom: 12px;
}
.mnr-card h3 { margin: 0 0 6px; font-size: 1.02rem; color: #232838; }
.mnr-card p { margin: 0 0 12px; font-size: .88rem; color: #5a5f70; line-height: 1.5; }
.mnr-card code { background: #f2f1ff; color: #5b3df5; padding: 1px 6px; border-radius: 6px; font-size: .82rem; }
.mnr-card .btn { width: 100%; }

/* ===== Dashboard: barra de filtros (data + produto) ===== */
.dash-toolbar { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:12px; margin:0 0 18px; }
.seg { display:inline-flex; flex-wrap:wrap; gap:4px; background:#f2f1fb; border:1px solid #e9e5fa; padding:4px; border-radius:12px; }
.seg-btn { border:0; background:transparent; color:#5a5f70; font-weight:600; font-size:.85rem; padding:7px 14px; border-radius:9px; cursor:pointer; font-family:inherit; transition:.15s; }
.seg-btn:hover { color:#4b2fd6; }
.seg-btn.active { background:#fff; color:#4b2fd6; box-shadow:0 2px 6px rgba(60,40,120,.12); }
.prod-select { border:1px solid #e0dcf3; background:#fff; color:#232838; font-weight:600; font-size:.86rem; padding:9px 14px; border-radius:11px; font-family:inherit; cursor:pointer; min-width:190px; }
.prod-select:focus-visible { outline:2px solid #6c4cf5; outline-offset:1px; }
.mc-delta.muted { text-transform:capitalize; }

/* ===== Checkout: gatilhos de conversão ===== */
.co-triggers { background:#f6f7fc; border:1px solid #eceafb; border-radius:12px; padding:14px 16px; margin:6px 0 14px; }
.co-triggers h4 { margin:0 0 10px; font-size:.95rem; color:#232838; }
.trg-row { display:flex; gap:9px; align-items:flex-start; font-size:.88rem; color:#3a3f52; cursor:pointer; margin-bottom:8px; line-height:1.4; }
.trg-row input { margin-top:2px; width:17px; height:17px; flex:0 0 auto; accent-color:#6c4cf5; }
.trg-row b { color:#232838; }
.trg-sub { display:block; font-size:.82rem; color:#6b7080; margin:0 0 12px 26px; }
.trg-sub input { width:60px; border:1px solid #d7d3f0; border-radius:7px; padding:4px 7px; font-size:.85rem; margin:0 3px; }

/* ===== Dashboard: banner do topo (cara de plataforma) ===== */
.dash-banner { display:flex; align-items:center; justify-content:space-between; gap:18px; background:linear-gradient(100deg,#6c4cf5,#8b6bff 58%,#5b3df5); border-radius:16px; padding:15px 22px; margin-bottom:20px; color:#fff; position:relative; overflow:hidden; }
.dash-banner::after { content:""; position:absolute; right:-24px; top:-32px; width:150px; height:150px; background:radial-gradient(circle,#b4ff3d,transparent 66%); opacity:.32; }
.dash-banner .db-text { position:relative; z-index:1; }
.dash-banner .db-text b { display:block; font-size:1.02rem; letter-spacing:-.01em; }
.dash-banner .db-text span { font-size:.85rem; opacity:.92; }
.dash-banner .db-cta { position:relative; z-index:1; flex:0 0 auto; background:#b4ff3d; color:#1a2b02; border:0; font-weight:700; padding:11px 20px; border-radius:11px; cursor:pointer; font-size:.9rem; white-space:nowrap; font-family:inherit; }
.dash-banner .db-cta:hover { filter:brightness(1.05); }
.dash-banner .db-cta:focus-visible { outline:2px solid #fff; outline-offset:2px; }
@media (max-width:640px){ .dash-banner { flex-direction:column; align-items:flex-start; gap:12px; } .dash-banner .db-cta { width:100%; } }

/* ===== Checkout: aceite de termos e taxas ===== */
.co-terms { background:#f6f7fc; border:1px solid #eceafb; border-radius:12px; padding:14px 16px; margin:14px 0; }
.co-terms h4 { margin:0 0 8px; font-size:.95rem; color:#232838; }
.co-terms-list { margin:0 0 12px; padding-left:18px; font-size:.84rem; color:#4a4f62; line-height:1.5; }
.co-terms-list li { margin-bottom:6px; }
.co-terms-list b { color:#232838; }
.co-terms-chk { display:flex; gap:9px; align-items:flex-start; font-size:.88rem; color:#3a3f52; cursor:pointer; font-weight:600; }
.co-terms-chk input { margin-top:2px; width:17px; height:17px; flex:0 0 auto; accent-color:#6c4cf5; }
.co-terms-done { font-size:.85rem; color:#35600a; font-weight:600; background:#edfbd0; padding:8px 12px; border-radius:9px; }

/* ===== Modal de Termos de uso e taxas ===== */
.termos-modal { position:fixed; inset:0; z-index:2000; background:rgba(20,15,45,.5); display:flex; align-items:center; justify-content:center; padding:20px; }
.termos-modal[hidden] { display:none; }
.termos-card { background:#fff; border-radius:16px; max-width:560px; width:100%; max-height:88vh; display:flex; flex-direction:column; box-shadow:0 20px 60px rgba(30,20,80,.35); overflow:hidden; }
.termos-head { display:flex; align-items:center; justify-content:space-between; padding:16px 20px; border-bottom:1px solid #eceafb; }
.termos-head h3 { margin:0; font-size:1.05rem; color:#232838; }
.termos-x { background:none; border:0; font-size:1.7rem; line-height:1; color:#8a8fa0; cursor:pointer; padding:0 4px; }
.termos-body { padding:18px 20px; overflow-y:auto; }
.termos-body h4 { margin:16px 0 6px; font-size:.9rem; color:#5b3df5; }
.termos-body h4:first-child { margin-top:0; }
.termos-body p, .termos-body li { font-size:.86rem; color:#4a4f62; line-height:1.55; }
.termos-body ul { padding-left:18px; margin:4px 0; }
.termos-body b { color:#232838; }
.termos-foot { padding:14px 20px 18px; border-top:1px solid #eceafb; display:flex; flex-direction:column; gap:10px; }
.termos-chk { display:flex; gap:9px; align-items:flex-start; font-size:.88rem; color:#3a3f52; font-weight:600; cursor:pointer; }
.termos-chk input { margin-top:2px; width:17px; height:17px; flex:0 0 auto; accent-color:#6c4cf5; }
.co-link { color:#5b3df5; font-weight:600; text-decoration:underline; cursor:pointer; }

/* ===== Área Ebooks IA ===== */
.eb-head { display:flex; align-items:center; justify-content:space-between; gap:14px; margin-bottom:18px; flex-wrap:wrap; }
.eb-saldo { background:#edfbd0; color:#35600a; font-weight:700; font-size:.85rem; padding:7px 14px; border-radius:999px; white-space:nowrap; }
.eb-grid { display:grid; grid-template-columns:minmax(320px,420px) 1fr; gap:18px; align-items:start; }
@media (max-width:860px){ .eb-grid{ grid-template-columns:1fr; } }
.eb-form { padding:20px; }
.eb-label { display:block; font-size:.82rem; font-weight:700; color:#4a4f62; margin:14px 0 6px; }
.eb-label:first-child { margin-top:0; }
.eb-input { width:100%; border:1px solid #d7d3f0; border-radius:10px; padding:10px 12px; font-size:.92rem; font-family:inherit; color:#232838; }
.eb-input:focus { outline:2px solid #6c4cf5; outline-offset:1px; }
.eb-tiers { display:grid; grid-template-columns:1fr 1fr; gap:8px; }
.eb-tier { display:flex; gap:9px; align-items:flex-start; border:1px solid #e6e3f7; border-radius:11px; padding:10px 11px; cursor:pointer; transition:.15s; }
.eb-tier:hover { border-color:#6c4cf5; }
.eb-tier input { margin-top:3px; accent-color:#6c4cf5; }
.eb-tier div { display:flex; flex-direction:column; line-height:1.25; }
.eb-tier b { font-size:.9rem; color:#232838; }
.eb-tier span { font-size:.74rem; color:#6b7080; }
.eb-tier em { font-size:.76rem; color:#5b3df5; font-style:normal; font-weight:700; margin-top:3px; }
.eb-tier:has(input:checked) { border-color:#6c4cf5; background:#f5f2ff; }
.eb-estimativa { font-size:.85rem; color:#4a4f62; background:#f6f7fc; border-radius:10px; padding:10px 12px; margin:14px 0; }
.eb-status { font-size:.85rem; color:#5a5f70; margin-top:10px; min-height:18px; text-align:center; }
.eb-preview { padding:16px; }
.eb-preview-head { display:flex; align-items:center; justify-content:space-between; gap:10px; margin-bottom:12px; }
.eb-actions { display:flex; gap:8px; }
.eb-frame { width:100%; height:70vh; min-height:480px; border:1px solid #e6e3f7; border-radius:12px; background:#fff; display:block; }

/* Modal Parabéns bônus ebook */
.eb-bonus-modal { position:fixed; inset:0; z-index:2000; background:rgba(20,15,45,.55); display:flex; align-items:center; justify-content:center; padding:20px; }
.eb-bonus-modal[hidden] { display:none; }
.eb-bonus-card { background:#fff; border-radius:18px; max-width:400px; width:100%; padding:32px 26px; text-align:center; box-shadow:0 20px 60px rgba(30,20,80,.4); animation:ebpop .3s ease; }
@keyframes ebpop { from{ transform:scale(.9); opacity:0 } to{ transform:scale(1); opacity:1 } }
.eb-bonus-emoji { font-size:3rem; animation:ebbounce 1s ease infinite alternate; }
@keyframes ebbounce { from{ transform:translateY(0) } to{ transform:translateY(-8px) } }
.eb-bonus-card h3 { font-size:1.5rem; color:#232838; margin:6px 0 8px; }
.eb-bonus-card p { color:#5a5f70; font-size:.95rem; margin-bottom:20px; line-height:1.5; }
.eb-bonus-card b { color:#5b3df5; }
@media (prefers-reduced-motion: reduce){ .eb-bonus-emoji, .eb-bonus-card{ animation:none } }

/* ===== Lista "Meus ebooks" ===== */
.eb-lista { display:flex; flex-direction:column; gap:2px; }
.eb-item { display:flex; align-items:center; justify-content:space-between; gap:12px; padding:11px 6px; border-bottom:1px solid var(--line, #ece9f8); }
.eb-item:last-child { border-bottom:0; }
.eb-item-info { display:flex; flex-direction:column; min-width:0; }
.eb-item-info b { font-size:.9rem; color:#232838; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; max-width:60vw; }
.eb-item-info small { font-size:.74rem; color:#8a8fa0; }
.eb-item-acts { display:flex; gap:6px; flex:0 0 auto; }

/* ===== Widget Próximos lançamentos (futures) ===== */
.futures-card { background:#fff; border:1px solid #eceafb; border-radius:16px; padding:20px 22px; margin-bottom:16px; box-shadow:0 6px 20px rgba(60,40,120,.06); }
.futures-head h3 { margin:0 0 3px; font-size:1.1rem; color:#232838; }
.futures-head span { font-size:.85rem; color:#6b7080; }
.futures-list { display:grid; grid-template-columns:1fr 1fr; gap:10px; margin:16px 0; }
@media (max-width:720px){ .futures-list { grid-template-columns:1fr; } }
.future-item { display:flex; align-items:center; gap:11px; background:#f6f7fc; border:1px solid #eceafb; border-radius:12px; padding:11px 13px; }
.fut-ico { font-size:1.3rem; flex:0 0 auto; }
.fut-txt { flex:1; min-width:0; display:flex; flex-direction:column; }
.fut-txt b { font-size:.9rem; color:#232838; }
.fut-txt small { font-size:.75rem; color:#7a7f92; }
.fut-badge { flex:0 0 auto; font-size:.7rem; font-weight:700; padding:4px 9px; border-radius:999px; background:#f2f1ff; color:#5b3df5; white-space:nowrap; }
.fut-badge.date { background:#edfbd0; color:#35600a; }
.futures-fb { border-top:1px solid #eceafb; padding-top:16px; margin-top:4px; }
.futures-fb h4 { margin:0 0 4px; font-size:.98rem; color:#232838; }
.futures-fb p { font-size:.82rem; color:#6b7080; margin:0 0 10px; }
.fb-input { width:100%; box-sizing:border-box; border:1px solid #d7d3f0; border-radius:10px; padding:10px 12px; font-size:.9rem; font-family:inherit; resize:vertical; }
.fb-input:focus { outline:2px solid #6c4cf5; outline-offset:1px; }
.fb-msg { font-size:.85rem; margin-top:8px; min-height:16px; }
.fb-msg.ok { color:#35600a; }
.fb-msg.err { color:#b13a20; }
#fb-enviar { margin-top:10px; }
