/* Aurora app v2 — sistema neutro profissional (refs: Stripe, Attio, Linear, Notion, Supabase).
   Acento aurora (laranja→índigo) reservado pra marca, foco e microdetalhes. */
:root {
  --fundo: #fafaf9;
  --superficie: #ffffff;
  --superficie-2: #f5f5f4;
  --borda: #e7e5e4;
  --borda-forte: #d6d3d1;
  --tinta: #1c1917;
  --texto: #44403c;
  --suave: #79716b;
  --apagado: #a6a09b;
  --acento: #e0763a;
  --indigo: #4f46e5;
  --verde: #16803c;
  --ambar: #b45309;
  --vermelho: #b91c1c;
  --raio: 8px;
  --sombra: 0 1px 2px rgba(28, 25, 23, 0.05);
  --sombra-2: 0 1px 3px rgba(28, 25, 23, 0.07), 0 4px 12px rgba(28, 25, 23, 0.05);
  --sans: "Inter", -apple-system, "Segoe UI", sans-serif;
}
* { margin: 0; padding: 0; box-sizing: border-box; }
body {
  font-family: var(--sans); background: var(--fundo); color: var(--texto);
  min-height: 100vh; font-size: 13.5px; line-height: 1.55;
  -webkit-font-smoothing: antialiased; font-feature-settings: "cv11";
}
h1 { font-size: 20px; font-weight: 600; color: var(--tinta); letter-spacing: -0.011em; }
h2 { font-size: 14px; font-weight: 600; color: var(--tinta); letter-spacing: -0.006em; }
h3 { font-size: 13.5px; font-weight: 600; color: var(--tinta); }
a { color: var(--tinta); text-decoration: none; }
a.link { color: var(--indigo); }
a.link:hover { text-decoration: underline; }

/* ---------- layout ---------- */
.shell { display: flex; min-height: 100vh; }
.lateral {
  width: 232px; flex-shrink: 0; background: var(--fundo);
  border-right: 1px solid var(--borda);
  display: flex; flex-direction: column; padding: 16px 12px;
  position: sticky; top: 0; height: 100vh;
}
.lateral .logo {
  display: flex; align-items: center; gap: 9px; padding: 4px 10px 16px;
  font-size: 14.5px; font-weight: 650; color: var(--tinta); letter-spacing: -0.01em;
}
.lateral .logo .marca {
  width: 22px; height: 22px; flex-shrink: 0; object-fit: contain;
}
.lateral .secao {
  font-size: 10.5px; font-weight: 600; text-transform: uppercase; letter-spacing: 0.07em;
  color: var(--apagado); padding: 14px 10px 5px;
}
.lateral nav a {
  display: flex; align-items: center; gap: 9px; height: 32px; padding: 0 10px;
  border-radius: 7px; color: var(--texto); font-size: 13px; font-weight: 500;
  border: 1px solid transparent;
}
.lateral nav a svg { width: 15px; height: 15px; stroke: var(--suave); flex-shrink: 0; }
.lateral nav a:hover { background: rgba(28, 25, 23, 0.045); }
.lateral nav a.ativo {
  background: var(--superficie); color: var(--tinta); font-weight: 550;
  border-color: var(--borda); box-shadow: var(--sombra);
}
.lateral nav a.ativo svg { stroke: var(--tinta); }
.lateral .rodape {
  margin-top: auto; border-top: 1px solid var(--borda); padding: 12px 4px 0;
  display: flex; align-items: center; gap: 9px;
}
.lateral .rodape .avatar {
  width: 26px; height: 26px; border-radius: 50%; flex-shrink: 0;
  background: var(--acento); color: #fff;
  display: grid; place-items: center; font-size: 11px; font-weight: 600;
}
.lateral .rodape .info { flex: 1; min-width: 0; }
.lateral .rodape .email {
  display: block; font-size: 12px; font-weight: 500; color: var(--tinta);
  white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
}
.lateral .rodape button {
  background: none; border: none; color: var(--suave); cursor: pointer;
  font: inherit; font-size: 11.5px; padding: 0;
}
.lateral .rodape button:hover { color: var(--tinta); }

.conteudo { flex: 1; min-width: 0; position: relative; overflow: hidden; background: var(--fundo); }
.conteudo > .folha > .miolo { max-width: 920px; margin: 0 auto; padding: 28px 32px 80px; }
.folha:not(.folha--guardada) {
  position: relative;
  z-index: 1;
  background: var(--fundo);
  min-height: 100%;
}
.folha--guardada {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  z-index: 0;
  visibility: hidden;
  pointer-events: none;
}
.cabecalho { display: flex; align-items: flex-start; justify-content: space-between; gap: 16px; margin-bottom: 22px; }
.cabecalho p { color: var(--suave); margin-top: 3px; font-size: 13px; }

/* ---------- componentes ---------- */
.cartao {
  background: var(--superficie); border: 1px solid var(--borda);
  border-radius: 10px; padding: 18px 20px; box-shadow: var(--sombra);
}
.grade { display: grid; gap: 12px; }
/* minmax(0,…): 1fr puro deixa conteúdo nowrap alargar a coluna e estourar a página */
.grade.c2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.grade.c3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
@media (max-width: 900px) {
  .grade.c2, .grade.c3 { grid-template-columns: 1fr; }
  .lateral { display: none; }
  .conteudo > .folha > .miolo { padding: 18px 16px 88px; }
  .shell .nav-fundo {
    display: flex;
    position: fixed;
    bottom: 0; left: 0; right: 0;
    z-index: 50;
    background: var(--superficie);
    border-top: 1px solid var(--borda);
    padding: 6px 4px calc(6px + env(safe-area-inset-bottom));
    justify-content: space-around;
  }
  .nav-fundo a {
    flex: 1; min-width: 0;
    display: flex; flex-direction: column; align-items: center; gap: 3px;
    padding: 6px 2px; border-radius: 8px;
    font-size: 10px; font-weight: 550; color: var(--suave);
  }
  .nav-fundo a svg { width: 18px; height: 18px; stroke: var(--suave); }
  .nav-fundo a.ativo { color: var(--tinta); }
  .nav-fundo a.ativo svg { stroke: var(--tinta); }
  .nav-fundo a span { max-width: 100%; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
}

.metrica .rotulo {
  font-size: 11px; font-weight: 600; text-transform: uppercase; letter-spacing: 0.06em;
  color: var(--suave);
}
.metrica .valor {
  font-size: 26px; font-weight: 600; color: var(--tinta); letter-spacing: -0.02em;
  margin-top: 4px; font-variant-numeric: tabular-nums;
}
.metrica .apoio { font-size: 12.5px; color: var(--suave); margin-top: 2px; }

label { display: block; font-size: 12.5px; font-weight: 550; color: var(--tinta); margin: 14px 0 5px; }
input, textarea, select {
  width: 100%; padding: 8px 11px; border: 1px solid var(--borda-forte); border-radius: var(--raio);
  background: var(--superficie); font: inherit; font-size: 13.5px; color: var(--tinta);
  transition: border-color 120ms, box-shadow 120ms;
}
input::placeholder, textarea::placeholder { color: var(--apagado); }
input:focus, textarea:focus, select:focus {
  outline: none; border-color: var(--acento);
  box-shadow: 0 0 0 3px rgba(224, 118, 58, 0.14);
}
textarea { resize: vertical; min-height: 68px; }
.ajuda { font-size: 12px; color: var(--suave); margin-top: 5px; }

.botao {
  display: inline-flex; align-items: center; justify-content: center; gap: 7px;
  height: 34px; padding: 0 14px; border: 1px solid var(--tinta); border-radius: var(--raio);
  cursor: pointer; background: var(--tinta); color: #fff;
  font: inherit; font-size: 13px; font-weight: 550;
  transition: background 120ms, border-color 120ms;
}
.botao:hover { background: #33302c; border-color: #33302c; }
.botao:disabled { opacity: 0.55; cursor: wait; }
.botao.claro { background: var(--superficie); color: var(--tinta); border-color: var(--borda-forte); box-shadow: var(--sombra); }
.botao.claro:hover { background: var(--superficie-2); }
.botao.mini { height: 28px; padding: 0 11px; font-size: 12.5px; border-radius: 7px; }

.chips { display: flex; flex-wrap: wrap; gap: 6px; }
.chip {
  height: 30px; padding: 0 13px; border-radius: 7px; border: 1px solid var(--borda-forte);
  background: var(--superficie); cursor: pointer; font: inherit; font-size: 12.5px;
  font-weight: 500; color: var(--texto); display: inline-flex; align-items: center;
  transition: all 120ms;
}
.chip:hover { border-color: var(--apagado); }
.chip.ativo { background: var(--tinta); color: #fff; border-color: var(--tinta); }

/* badges de plataforma: dot + texto, discreto */
.etiqueta {
  display: inline-flex; align-items: center; gap: 6px;
  font-size: 12px; font-weight: 500; color: var(--texto);
  padding: 2px 9px 2px 7px; border: 1px solid var(--borda); border-radius: 999px;
  background: var(--superficie); white-space: nowrap;
}
.etiqueta::before { content: ""; width: 6px; height: 6px; border-radius: 50%; background: var(--apagado); }
.etiqueta.reels::before { background: #e1306c; }
.etiqueta.tiktok::before { background: #1c1917; }
.etiqueta.shorts::before { background: #cc0000; }
.etiqueta.linkedin::before { background: #0a66c2; }
.etiqueta.x::before { background: #111; }
.etiqueta.pronto::before { background: var(--verde); }
.etiqueta.processando::before { background: var(--ambar); }
.etiqueta.erro::before { background: var(--vermelho); }
.etiqueta.publicado::before { background: var(--verde); }
.etiqueta.planejado::before { background: var(--apagado); }

.selo-nota {
  display: inline-flex; align-items: center; gap: 6px; height: 24px; padding: 0 9px;
  border-radius: 6px; background: var(--superficie-2); border: 1px solid var(--borda);
  font-size: 12.5px; font-weight: 600; color: var(--tinta); font-variant-numeric: tabular-nums;
}
.selo-nota::before { content: ""; width: 6px; height: 6px; border-radius: 50%; background: var(--verde); }
.selo-nota.media::before { background: var(--ambar); }
.selo-nota.baixa::before { background: var(--vermelho); }

.aviso { padding: 10px 13px; border-radius: var(--raio); font-size: 13px; margin-top: 12px; display: none; border: 1px solid transparent; }
.aviso.erro { display: block; background: #fef2f2; border-color: #fecaca; color: #991b1b; }
.aviso.ok { display: block; background: #f0fdf4; border-color: #bbf7d0; color: #166534; }

.contexto-selo {
  display: inline-flex; align-items: center; gap: 7px; margin-top: 10px;
  font-size: 11px; font-weight: 600; text-transform: uppercase; letter-spacing: 0.05em;
  color: var(--suave); background: var(--superficie-2); border: 1px solid var(--borda);
  border-radius: 999px; padding: 4px 11px 4px 9px;
}
.contexto-selo::before { content: ""; width: 6px; height: 6px; border-radius: 50%; background: var(--acento); flex-shrink: 0; }

.vazio { color: var(--apagado); text-align: center; padding: 34px 0; font-size: 13px; }
.vazio a { color: var(--indigo); }

.lista-linha {
  display: flex; align-items: center; gap: 12px; padding: 11px 2px;
  border-bottom: 1px solid var(--borda);
}
.lista-linha:last-child { border-bottom: none; }
a.lista-linha, .lista-linha[data-clicavel] { cursor: pointer; margin: 0 -10px; padding: 11px 10px; border-radius: 7px; }
a.lista-linha:hover { background: var(--superficie-2); }
.lista-linha .cresce { flex: 1; min-width: 0; }
.lista-linha .titulo {
  display: block; font-weight: 500; color: var(--tinta); font-size: 13.5px;
  white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
}
.lista-linha .meta { font-size: 12px; color: var(--suave); margin-top: 1px; }

/* ---------- roteiro renderizado ---------- */
.roteiro-doc { margin-top: 6px; }

/* Preview de publicação (X / LinkedIn): o post como ele vai aparecer */
.post-preview {
  border: 1px solid var(--borda); border-radius: 16px; background: var(--superficie);
  padding: 14px 16px 10px; max-width: 560px; box-shadow: var(--sombra);
}
.pp-topo { display: flex; gap: 10px; align-items: center; }
.pp-avatar {
  width: 40px; height: 40px; border-radius: 50%; flex-shrink: 0;
  background: var(--superficie-2); border: 1px solid var(--borda);
  display: flex; align-items: center; justify-content: center;
  font-weight: 700; font-size: 16px; color: var(--suave);
}
.post-preview.linkedin .pp-avatar { border-radius: 8px; }
.pp-quem { display: flex; flex-direction: column; line-height: 1.25; min-width: 0; }
.pp-nome { font-weight: 700; font-size: 14px; color: var(--tinta); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.pp-handle { font-size: 12.5px; color: var(--suave); }
.pp-logo { margin-left: auto; font-weight: 800; font-size: 17px; color: var(--tinta); opacity: .8; }
.post-preview.linkedin .pp-logo { background: #0a66c2; color: #fff; font-size: 12px; border-radius: 3px; padding: 1px 4px; opacity: 1; }
.pp-texto {
  margin-top: 10px; white-space: pre-wrap; overflow-wrap: break-word;
  font-size: 15px; line-height: 1.45; color: var(--tinta);
}
.pp-texto.dobrada { display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; }
.pp-vermais { color: var(--suave); font-size: 13px; cursor: pointer; margin-top: 3px; display: inline-block; }
.pp-vermais:hover { text-decoration: underline; }
.pp-acoes { display: flex; justify-content: space-between; max-width: 280px; margin-top: 12px; color: var(--suave); opacity: .5; }
.pp-acoes svg { width: 17px; height: 17px; }
.pp-rodape {
  margin-top: 10px; padding-top: 9px; border-top: 1px solid var(--borda);
  font-size: 12px; color: var(--suave); display: flex; gap: 10px; align-items: baseline; flex-wrap: wrap;
}
.pp-conta { font-variant-numeric: tabular-nums; font-weight: 600; }
.pp-conta.alem { color: var(--vermelho); }
.bloco-roteiro {
  display: grid; grid-template-columns: 74px 1fr; gap: 14px;
  padding: 12px 0; border-bottom: 1px solid var(--borda);
}
.bloco-roteiro:last-of-type { border-bottom: none; }
.bloco-roteiro .rotulo {
  font-size: 10.5px; font-weight: 600; text-transform: uppercase; letter-spacing: 0.06em;
  color: var(--apagado); padding-top: 3px;
}
.bloco-roteiro.hook .rotulo { color: var(--acento); }
.bloco-roteiro.cta .rotulo { color: var(--indigo); }
.bloco-roteiro .texto { color: var(--tinta); font-size: 14px; line-height: 1.6; }

.hashtags { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 12px; }
.hashtags span {
  font-size: 12px; color: var(--suave); background: var(--superficie-2);
  border: 1px solid var(--borda); padding: 2px 8px; border-radius: 6px;
}
.nota-gravacao {
  margin-top: 12px; padding: 11px 13px; background: var(--superficie-2);
  border: 1px solid var(--borda); border-radius: var(--raio);
  font-size: 12.5px; color: var(--texto);
}
.nota-gravacao strong { color: var(--tinta); }

/* veredito: barras por critério */
.veredito-cab { display: flex; align-items: baseline; gap: 8px; }
.veredito-cab .num { font-size: 22px; font-weight: 600; color: var(--tinta); font-variant-numeric: tabular-nums; letter-spacing: -0.02em; }
.veredito-cab .de { font-size: 12px; color: var(--suave); }
.criterios { display: grid; gap: 7px; margin-top: 12px; }
.criterio { display: grid; grid-template-columns: 84px 1fr 22px; align-items: center; gap: 10px; }
.criterio .nome { font-size: 12px; font-weight: 500; color: var(--texto); }
.criterio .trilha { display: block; height: 5px; border-radius: 3px; background: var(--borda); overflow: hidden; }
.criterio .barra { display: block; height: 100%; border-radius: 2px; background: transparent; }
.criterio .val { font-size: 12px; font-weight: 600; color: var(--tinta); text-align: right; font-variant-numeric: tabular-nums; }
.melhorias { margin-top: 14px; font-size: 13px; }
.melhorias li { margin: 5px 0 0 16px; color: var(--texto); }

/* ---------- calendário ---------- */
.cal-grade { display: grid; grid-template-columns: repeat(7, 1fr); gap: 5px; margin-top: 14px; }
.cal-cab { text-align: center; font-size: 10.5px; font-weight: 600; text-transform: uppercase; letter-spacing: 0.06em; color: var(--apagado); padding-bottom: 3px; }
.cal-dia {
  min-height: 84px; background: var(--superficie); border: 1px solid var(--borda);
  border-radius: 7px; padding: 6px 7px; font-size: 11.5px;
}
.cal-dia .num { color: var(--suave); font-weight: 550; font-size: 11px; }
.cal-dia.hoje { border-color: var(--acento); }
.cal-dia.hoje .num { color: var(--acento); font-weight: 650; }
.cal-dia.fora { background: transparent; border-color: transparent; }
.cal-dia.fora .num { color: var(--borda-forte); }
.cal-item {
  margin-top: 4px; padding: 2px 7px; border-radius: 5px; cursor: pointer;
  background: var(--superficie-2); border: 1px solid var(--borda);
  color: var(--tinta); font-weight: 500;
  overflow: hidden; white-space: nowrap; text-overflow: ellipsis;
}
.cal-item:hover { border-color: var(--borda-forte); }
.cal-item.publicado { text-decoration: line-through; color: var(--apagado); font-weight: 400; }

/* ---------- login ---------- */
.tela-login { min-height: 100vh; display: grid; grid-template-columns: 1fr 1fr; }
@media (max-width: 860px) { .tela-login { grid-template-columns: 1fr; } .painel-marca { display: none; } }
.painel-form { display: grid; place-items: center; padding: 32px; background: var(--superficie); }
.painel-form .caixa { width: 100%; max-width: 340px; }
.painel-marca {
  position: relative; overflow: hidden;
  background: transparent;
  display: grid; place-items: center; padding: 48px;
}
.painel-marca .frase {
  position: relative; max-width: 380px; color: #fff; font-size: 19px; font-weight: 550;
  line-height: 1.45; letter-spacing: -0.01em; text-shadow: 0 1px 10px rgba(60, 40, 90, 0.25);
}
.painel-marca .frase small { display: block; margin-top: 14px; font-size: 13px; font-weight: 500; opacity: 0.92; }
.painel-marca::after { display: none; }

.carregando {
  display: inline-block; width: 13px; height: 13px; border: 2px solid currentColor;
  border-top-color: transparent; border-radius: 50%; opacity: .8;
  animation: gira 0.7s linear infinite; vertical-align: -2px;
}
@keyframes gira { to { transform: rotate(360deg); } }
hr.div { border: none; border-top: 1px solid var(--borda); margin: 16px 0; }

.nav-fundo { display: none; }
.nav-fundo .mais-menu { display: none; position: fixed; left: 8px; right: 8px; bottom: calc(64px + env(safe-area-inset-bottom)); z-index: 60;
  background: var(--superficie); border: 1px solid var(--borda); border-radius: 12px; padding: 6px; box-shadow: 0 12px 32px rgba(28,25,23,.18); }
.nav-fundo .mais-menu.aberto { display: grid; }
.nav-fundo .mais-menu a, .nav-fundo .mais-menu button { display: flex; flex-direction: row; align-items: center; gap: 10px; padding: 11px 12px; border-radius: 8px;
  font-size: 14px; font-weight: 500; color: var(--texto); background: none; border: 0; font-family: inherit; text-align: left; width: 100%; cursor: pointer; }
.nav-fundo .mais-menu a svg { width: 16px; height: 16px; stroke: var(--suave); }
.nav-fundo .mais-menu a.ativo { background: rgba(28,25,23,.05); color: var(--tinta); }
.nav-fundo > button.mais { flex: 1; min-width: 0; display: flex; flex-direction: column; align-items: center; gap: 3px; padding: 6px 2px;
  background: none; border: 0; font-family: inherit; font-size: 10px; font-weight: 550; color: var(--suave); cursor: pointer; }
.nav-fundo > button.mais svg { width: 18px; height: 18px; stroke: var(--suave); fill: none; }

.palco-deck { position: relative; overflow: hidden; background: #1c1917; border-radius: 16px; padding: 26px 18px 20px; box-shadow: 0 12px 32px rgba(28,25,23,.12); }
.palco-deck::before { content: ""; position: absolute; width: 440px; height: 440px; top: 72px; left: 50%; border: 1px solid rgba(250,250,249,.035); border-radius: 50%; transform: translateX(-50%); pointer-events: none; }
.area-deck { position: relative; display: block; }
.deck-principal { min-width: 0; }
.saldo-garimpo { display: inline-flex; align-items: center; gap: 6px; align-self: flex-start; border: 1px solid var(--borda); border-radius: 999px; background: var(--superficie); color: var(--texto); padding: 4px 10px; font-size: 12px; font-weight: 550; box-shadow: var(--sombra); }
.palco-deck--vazio {
  background: var(--superficie);
  border: 1px solid var(--borda);
  box-shadow: var(--sombra);
  padding: 56px 24px 48px;
}
.palco-deck--vazio::before { display: none; }
.palco-deck--vazio .deck-vazio {
  max-width: 360px; margin: 0 auto; padding: 0; color: var(--texto); text-align: center;
}
.palco-deck--vazio .deck-vazio h2 {
  margin: 0; color: var(--tinta); font-size: 18px; font-weight: 600; letter-spacing: -0.02em;
}
.palco-deck--vazio .deck-vazio > p {
  max-width: none; margin: 6px 0 0; color: var(--suave); font-size: 13.5px;
}
.palco-deck--vazio .deck-vazio__acoes { display: flex; justify-content: center; margin-top: 22px; }
.palco-deck--vazio .deck-vazio__botao {
  min-height: 38px; border-color: var(--tinta); background: var(--tinta); color: #fff;
  box-shadow: none;
}
.palco-deck--vazio .deck-vazio__botao:hover { background: #292524; border-color: #292524; }
.deck { position: relative; height: 540px; margin: 0 auto; max-width: 320px; touch-action: none; filter: drop-shadow(0 18px 24px rgba(0,0,0,.28)); }
.carta-viral { position: absolute; inset: 0; border-radius: 18px;
  background: #292524; border: 1px solid rgba(250,250,249,.1); overflow: hidden;
  user-select: none; cursor: grab;
  transition: transform 350ms cubic-bezier(0.23, 1, 0.32, 1), opacity 350ms; will-change: transform; }
.carta-viral.arrastando { transition: none; cursor: grabbing; }
.carta-viral .midia { position: absolute; inset: 0; z-index: 0; }
.carta-viral .midia img, .carta-viral .midia iframe, .carta-viral .midia video { width: 100%; height: 100%; object-fit: cover; border: 0; display: block; }
.carta-viral .midia iframe, .carta-viral .midia video { position: absolute; inset: 0; pointer-events: none; background: #000; }
.carta-viral .scrim { position: absolute; inset: 0; z-index: 1;
  background: transparent; }
.carta-viral .conteudo-carta { position: relative; z-index: 2; display: flex; flex-direction: column; height: 100%; padding: 18px; }
.carta-viral .topo-carta { display: flex; align-items: center; justify-content: space-between; }
.carta-viral .canal, .carta-viral .views { font-size: 13px; font-weight: 600; color: #fafaf9; text-shadow: 0 1px 4px rgba(0,0,0,.6); }
.carta-viral .views { font-size: 11.5px; color: #eb9c66; }
.selo-subindo { color: #4ade80; font-weight: 700; }
.carta-viral .hook-viral { flex: 1; display: grid; place-items: end center; text-align: center;
  font-size: 16px; font-weight: 600; line-height: 1.45; color: #fafaf9; padding: 10px 2px;
  text-shadow: 0 1px 6px rgba(0,0,0,.75); }
.carta-viral .trecho-viral { font-size: 11.5px; color: #a8a29e; line-height: 1.5; border-top: 1px solid rgba(250,250,249,.1); padding-top: 10px; }
.toca-play { position: absolute; inset: 0; margin: auto; width: 74px; height: 74px; z-index: 4;
  border-radius: 50%; border: none; background: rgba(0,0,0,.55); color: #fafaf9; font-size: 28px;
  cursor: pointer; display: grid; place-items: center; backdrop-filter: blur(3px); }
.toca-play[hidden] { display: none; }
.selo-som { position: absolute; top: 14px; right: 14px; z-index: 4; width: 38px; height: 38px;
  border-radius: 50%; border: none; background: rgba(0,0,0,.45); font-size: 17px; cursor: pointer;
  display: grid; place-items: center; backdrop-filter: blur(4px); }
.selo-swipe { position: absolute; top: 22px; z-index: 3; font-size: 15px; font-weight: 750; letter-spacing: 0.06em;
  padding: 5px 12px; border-radius: 8px; border: 2.5px solid; opacity: 0; text-transform: uppercase; }
.selo-sim { left: 16px; color: #4ade80; border-color: #4ade80; transform: rotate(-12deg); }
.selo-nao { right: 16px; color: #fca5a5; border-color: #fca5a5; transform: rotate(12deg); }
.carta-viral.dica { animation: dicaSwipe 1.6s cubic-bezier(0.45, 0, 0.25, 1) 1; }
@keyframes dicaSwipe { 0%, 100% { transform: none; } 25% { transform: translateX(26px) rotate(2.5deg); } 60% { transform: translateX(-18px) rotate(-2deg); } }
.carta-skeleton { position: absolute; inset: 0; border-radius: 18px;
  background: transparent; background-size: 200% 100%;
  animation: pulsa 1.2s linear infinite; }
@keyframes pulsa { to { background-position: -200% 0; } }
.botoes-garimpo { display: flex; justify-content: center; align-items: center; gap: 13px; margin-top: 19px; }
.btn-garimpo { width: 54px; height: 54px; border-radius: 50%; border: 1px solid rgba(250,250,249,.18);
  background: rgba(250,250,249,.07); color: #fafaf9; font-size: 22px; cursor: pointer; display: grid; place-items: center; transition: transform 150ms, background 150ms, border-color 150ms; }
.btn-garimpo:hover { background: rgba(250,250,249,.14); border-color: rgba(250,250,249,.35); transform: translateY(-2px); }
.btn-garimpo.mini { width: 42px; height: 42px; font-size: 16px; }
.btn-garimpo--nao { color: #fca5a5; background: rgba(248,113,113,.08); border-color: rgba(252,165,165,.28); }
.btn-garimpo--nao:hover { background: rgba(248,113,113,.16); border-color: rgba(252,165,165,.5); }
.btn-garimpo--sim { color: #4ade80; background: rgba(74,222,128,.1); border-color: rgba(74,222,128,.32); }
.btn-garimpo--sim:hover { background: rgba(74,222,128,.18); border-color: rgba(74,222,128,.58); }
.btn-garimpo:disabled { opacity: 0.35; cursor: default; }
.rodape-deck { display: flex; justify-content: center; gap: 12px; margin-top: 13px; font-size: 11.5px; color: #a8a29e; flex-wrap: wrap; }
.atalhos { color: #79716b; }
@media (max-width: 760px) { .palco-deck { padding: 24px 16px 20px; } .deck { height: min(540px, calc(100vw - 88px)); max-width: min(320px, calc((100vw - 88px) * .6)); } }
.filtros-bib { display: flex; gap: 10px; margin: 12px 0; flex-wrap: wrap; }
.filtros-bib input { flex: 1; min-width: 220px; padding: 9px 13px; border: 1px solid var(--borda-forte);
  border-radius: 8px; font: inherit; font-size: 13.5px; background: var(--superficie); }
.filtros-bib select { padding: 9px 10px; border: 1px solid var(--borda-forte); border-radius: 8px; font: inherit; font-size: 13px; background: var(--superficie); }
.grade-bib { display: grid; grid-template-columns: repeat(auto-fill, minmax(170px, 1fr)); gap: 14px; }
.item-bib { border: 1px solid var(--borda); border-radius: 12px; overflow: hidden; background: var(--superficie); display: flex; flex-direction: column; }
.item-bib--skeleton { pointer-events: none; }
.item-bib--skeleton .video-bib {
  background: transparent;
  background-size: 200% 100%;
  animation: pulsa 1.2s linear infinite;
}
.item-bib--skeleton .corpo-bib span {
  display: block; height: 10px; border-radius: 6px;
  background: transparent;
  background-size: 200% 100%;
  animation: pulsa 1.2s linear infinite;
}
.item-bib--skeleton .corpo-bib span:first-child { width: 88%; height: 12px; }
.item-bib--skeleton .corpo-bib span:last-child { width: 42%; }
.item-bib .video-bib { position: relative; aspect-ratio: 9/14; background: #1c1917; }
.item-bib .video-bib video, .item-bib .video-bib img { width: 100%; height: 100%; object-fit: cover; display: block; }
.item-bib .metrica { position: absolute; bottom: 8px; left: 8px; right: 8px; display: flex; justify-content: space-between;
  font-size: 11px; font-weight: 700; color: #fff; text-shadow: 0 1px 4px rgba(0,0,0,.8); }
.item-bib .corpo-bib { padding: 10px 12px 12px; display: flex; flex-direction: column; gap: 6px; flex: 1; }
.item-bib .hook-bib { font-size: 12.5px; font-weight: 550; color: var(--tinta); line-height: 1.4;
  display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.item-bib .canal-bib { font-size: 11.5px; color: var(--suave); }
.item-bib .acoes-bib { margin-top: auto; display: flex; gap: 8px; align-items: center; }
.btn-molde { font: inherit; font-size: 12px; font-weight: 600; padding: 6px 10px; border-radius: 7px;
  border: 1px solid var(--borda-forte); background: var(--superficie); cursor: pointer; }
.btn-molde:hover { background: var(--superficie-2); }
.ja-curtido { font-size: 11px; color: var(--verde); font-weight: 700; }

/* ---------- gerador ---------- */
.ger-card { padding: 0; overflow: hidden; }
.ger-secao {
  display: grid; grid-template-columns: 176px 1fr; gap: 24px;
  padding: 24px; transition: opacity 300ms;
}
.ger-secao + .ger-secao { border-top: 1px solid var(--borda); }
.ger-rail .passo {
  font-size: 10.5px; font-weight: 650; letter-spacing: 0.09em;
  color: var(--acento); font-variant-numeric: tabular-nums;
}
.ger-rail h2 { margin-top: 4px; }
.ger-rail p { font-size: 12px; color: var(--suave); margin-top: 5px; line-height: 1.5; }
.ger-campos { min-width: 0; }
.ger-campos > label:first-of-type { margin-top: 0; }
.ger-card #tema { min-height: 76px; font-size: 14px; }
#form.gerando .ger-secao { opacity: 0.45; pointer-events: none; }

.ger-rodape {
  display: flex; align-items: center; justify-content: space-between; gap: 16px; flex-wrap: wrap;
  padding: 16px 24px; border-top: 1px solid var(--borda); background: var(--superficie-2);
}
.ger-rodape .dica-rodape { font-size: 12px; color: var(--suave); flex: 1; min-width: 200px; }
.ger-rodape .aviso { margin: 0; width: 100%; order: 3; }

.botao-gerar {
  height: 42px; padding: 0 26px; font-size: 13.5px; font-weight: 600; border-radius: 9px;
  border: 1px solid #2d5051;
  background: #2d5051;
  color: #fff;
  transition: transform 140ms, box-shadow 140ms, background 140ms;
}
.botao-gerar:hover:not(:disabled) {
  background: #234344;
  border-color: #234344;
  transform: translateY(-1px);
  box-shadow: 0 4px 14px rgba(224, 118, 58, 0.22), 0 2px 8px rgba(79, 70, 229, 0.16);
}
.botao-gerar:active:not(:disabled) { transform: translateY(0); box-shadow: none; }

.chip-molde {
  display: flex; align-items: center; gap: 8px; margin: 0 0 14px; padding: 9px 12px;
  border: 1px solid rgba(224, 118, 58, 0.35); border-radius: 9px;
  background: rgba(224, 118, 58, 0.06); font-size: 12.5px;
}
.chip-molde b { color: var(--acento); font-weight: 600; white-space: nowrap; }
.chip-molde .txt { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; color: var(--texto); }
.chip-molde button {
  background: none; border: none; cursor: pointer; color: var(--suave);
  font-size: 14px; margin-left: auto; padding: 2px; line-height: 1;
}
.chip-molde button:hover { color: var(--tinta); }

.ger-publi { display: flex; gap: 10px; align-items: center; flex-wrap: wrap; margin-top: 16px; }
.ger-publi select { width: auto; font-size: 13px; padding: 7px 9px; }
.ger-publi .botao svg { width: 13px; height: 13px; stroke: currentColor; }

.prog-passos { display: grid; gap: 10px; margin-top: 16px; }
.prog-passo { display: flex; align-items: center; gap: 10px; font-size: 13px; color: var(--apagado); transition: color 300ms; }
.prog-passo .ic {
  width: 18px; height: 18px; border-radius: 50%; border: 1.5px solid var(--borda-forte);
  display: grid; place-items: center; flex-shrink: 0; transition: border-color 300ms, background 300ms;
}
.prog-passo.ativa { color: var(--tinta); font-weight: 550; }
.prog-passo.ativa .ic { border-color: var(--acento); }
.prog-passo.ativa .ic::after {
  content: ""; width: 8px; height: 8px; border-radius: 50%;
  background: transparent;
  animation: pulsaPonto 1.1s ease-in-out infinite;
}
.prog-passo.feita { color: var(--texto); }
.prog-passo.feita .ic { border-color: var(--verde); background: var(--verde); }
.prog-passo.feita .ic::after {
  content: ""; width: 4px; height: 8px; border: solid #fff; border-width: 0 2px 2px 0;
  transform: rotate(45deg); margin-top: -2px;
}
@keyframes pulsaPonto { 50% { transform: scale(0.55); opacity: 0.6; } }
.prog-linhas { display: grid; gap: 9px; margin-top: 18px; }
.prog-linhas span {
  height: 11px; border-radius: 6px;
  background: transparent;
  background-size: 200% 100%; animation: pulsa 1.2s linear infinite;
}

.res-anima { animation: sobe 420ms cubic-bezier(0.22, 1, 0.36, 1) both; }
@keyframes sobe { from { opacity: 0; transform: translateY(10px); } }

@media (max-width: 760px) {
  .ger-secao { grid-template-columns: 1fr; gap: 12px; padding: 18px 16px; }
  .ger-rodape { padding: 14px 16px; }
  .ger-rodape .botao-gerar { width: 100%; order: 2; }
}
@media (prefers-reduced-motion: reduce) {
  .res-anima, .prog-linhas span, .prog-passo.ativa .ic::after { animation: none; }
  .botao-gerar, .botao-gerar:hover:not(:disabled) { transform: none; }
}


/* ---------- aurora visual refresh ---------- */
:root {
  --fundo: #f7f1e8;
  --superficie: #fffdf9;
  --superficie-2: #efe8de;
  --borda: #e1d8cc;
  --borda-forte: #c9bcae;
  --tinta: #25231f;
  --texto: #5c564e;
  --suave: #82786d;
  --apagado: #a89d90;
  --acento: #c96b46;
  --indigo: #1f5d63;
  --verde: #2d7754;
  --ambar: #ae6e28;
  --vermelho: #af4d4a;
  --raio: 12px;
  --sombra: 0 1px 2px rgba(62,47,34,.04), 0 5px 18px rgba(62,47,34,.045);
  --sombra-2: 0 2px 4px rgba(62,47,34,.05), 0 18px 44px rgba(62,47,34,.10);
}

body {
  background: var(--fundo);
  color: var(--texto);
  font-size: 14px;
}

.lateral {
  width: 248px;
  background: rgba(250,250,252,.82);
  border-right-color: rgba(210,213,224,.72);
  padding: 22px 14px 16px;
  backdrop-filter: blur(18px);
}
.lateral .logo {
  gap: 10px;
  padding: 2px 11px 25px;
  font-size: 16px;
  letter-spacing: -.025em;
}
.lateral .logo .marca {
  width: 27px;
  height: 27px;
  filter: drop-shadow(0 4px 8px rgba(242,118,61,.18));
}
.lateral .secao {
  padding: 15px 12px 8px;
  color: #9a9eab;
  font-size: 10px;
  letter-spacing: .11em;
}
.lateral nav { display: grid; gap: 3px; }
.lateral nav a {
  height: 40px;
  gap: 11px;
  padding: 0 12px;
  border-radius: 10px;
  color: #686c79;
  font-size: 13.5px;
  transition: background 160ms ease, color 160ms ease, transform 160ms ease;
}
.lateral nav a svg { width: 17px; height: 17px; stroke: #8b8f9d; }
.lateral nav a:hover { background: rgba(99,91,223,.065); color: var(--tinta); transform: translateX(1px); }
.lateral nav a.ativo {
  background: #e9ded1;
  color: var(--tinta);
  font-weight: 650;
  border-color: rgba(99,91,223,.13);
  box-shadow: 0 4px 12px rgba(72,68,145,.07);
}
.lateral nav a.ativo svg { stroke: var(--indigo); }
.lateral .rodape {
  border-top-color: rgba(210,213,224,.72);
  padding: 16px 5px 0;
}
.lateral .rodape .avatar { box-shadow: 0 4px 12px rgba(99,91,223,.18); }

.conteudo { background: transparent; }
.conteudo > .folha > .miolo {
  max-width: 1120px;
  padding: 42px 44px 96px;
}
.cabecalho { margin-bottom: 28px; }
.cabecalho h1 { font-size: 28px; letter-spacing: -.035em; font-weight: 680; }
.cabecalho p { margin-top: 6px; color: #7d8190; font-size: 14px; }

.cartao {
  background: rgba(255,255,255,.92);
  border-color: rgba(218,221,232,.9);
  border-radius: 16px;
  padding: 22px 24px;
  box-shadow: var(--sombra);
}
.grade { gap: 16px; }
.metrica {
  position: relative;
  overflow: hidden;
  min-height: 126px;
  background: var(--superficie);
}
.metrica::before {
  content: "";
  position: absolute;
  left: 0; right: 0; top: 0;
  height: 3px;
  background: var(--acento);
  opacity: .9;
}
.metrica .rotulo { color: #7b7f8e; letter-spacing: .085em; }
.metrica .valor { font-size: 31px; font-weight: 700; letter-spacing: -.04em; margin-top: 8px; }
.metrica .apoio { color: #858997; margin-top: 5px; }

label { margin: 17px 0 7px; font-size: 12px; letter-spacing: .01em; color: #31333b; }
input, textarea, select {
  padding: 10px 13px;
  min-height: 42px;
  border-color: #d6d9e3;
  border-radius: 10px;
  background: rgba(255,255,255,.9);
  box-shadow: inset 0 1px 1px rgba(30,33,45,.025);
}
textarea { min-height: 84px; }
input:hover, textarea:hover, select:hover { border-color: #b9bdcc; }
input:focus, textarea:focus, select:focus {
  border-color: var(--indigo);
  box-shadow: 0 0 0 4px rgba(99,91,223,.12), 0 1px 2px rgba(24,24,27,.04);
}

.botao {
  height: 40px;
  padding: 0 16px;
  border-radius: 10px;
  border-color: #25252a;
  font-size: 13px;
  font-weight: 620;
  box-shadow: 0 2px 5px rgba(24,24,27,.09);
  transition: transform 150ms ease, box-shadow 150ms ease, background 150ms ease;
}
.botao:hover { transform: translateY(-1px); box-shadow: 0 5px 14px rgba(24,24,27,.12); }
.botao.claro { box-shadow: none; background: rgba(255,255,255,.78); }
.botao.claro:hover { box-shadow: 0 4px 12px rgba(40,43,61,.08); }
.botao.mini { height: 32px; padding: 0 12px; border-radius: 8px; font-size: 12px; }

.chips { gap: 8px; }
.chip {
  height: 34px;
  padding: 0 14px;
  border-radius: 999px;
  border-color: #d6d9e3;
  color: #5f6370;
  transition: transform 140ms ease, border-color 140ms ease, background 140ms ease, box-shadow 140ms ease;
}
.chip:hover { border-color: rgba(99,91,223,.45); transform: translateY(-1px); }
.chip.ativo {
  background: #2d5051;
  color: #fff;
  border-color: #2d5051;
  box-shadow: 0 4px 11px rgba(45,80,81,.16);
}

.etiqueta { padding: 4px 10px 4px 8px; border-radius: 999px; background: rgba(255,255,255,.75); }
.selo-nota { height: 28px; border-radius: 8px; padding: 0 10px; }
.aviso { border-radius: 10px; padding: 11px 14px; }
.contexto-selo { margin-top: 13px; padding: 5px 12px 5px 10px; background: rgba(99,91,223,.055); border-color: rgba(99,91,223,.13); color: #72768a; }

.lista-linha { padding: 14px 4px; border-bottom-color: #eceef3; }
a.lista-linha, .lista-linha[data-clicavel] { margin: 0 -12px; padding: 14px 12px; border-radius: 10px; }
a.lista-linha:hover { background: #f7f8fc; }
.lista-linha .titulo { font-size: 14px; font-weight: 620; }
.lista-linha .meta { margin-top: 3px; color: #858997; }

/* dashboard */
.dashboard-page .cabecalho { align-items: center; }
.dashboard-page .cabecalho h1 { font-size: 30px; }
.dashboard-page #resultados .cartao, .dashboard-page #canal-yt .cartao { margin-top: 16px !important; }
.dashboard-page #ultimos, .dashboard-page #proximos { margin-top: 7px; }

/* generator */
.gerador-page .cabecalho { margin-bottom: 24px; }
.gerador-page .cabecalho h1 { font-size: 30px; }
.ger-card {
  border-radius: 20px;
  box-shadow: var(--sombra-2);
  overflow: hidden;
}
.ger-secao {
  grid-template-columns: 218px 1fr;
  gap: 34px;
  padding: 30px;
}
.ger-rail { position: relative; padding-left: 22px; }
.ger-rail::before {
  content: "";
  position: absolute;
  left: 0; top: 3px; bottom: 3px;
  width: 3px;
  border-radius: 4px;
  background: var(--acento);
  opacity: .85;
}
.ger-rail .passo { font-size: 10px; letter-spacing: .14em; color: var(--acento); }
.ger-rail h2 { margin-top: 7px; font-size: 20px; letter-spacing: -.025em; }
.ger-rail p { margin-top: 8px; color: #858997; line-height: 1.6; }
.ger-campos { padding-top: 1px; }
.ger-campos > label:first-of-type { margin-top: 0; }
.ger-card #tema { min-height: 96px; font-size: 15px; line-height: 1.55; }
.ger-publi { margin-top: 20px; }
.ger-rodape { padding: 20px 30px; background: var(--superficie-2); border-top-color: #e1d8cc; }
.ger-rodape .dica-rodape { color: #858997; }
.botao-gerar { height: 46px; padding: 0 24px; border-radius: 12px; }
.chip-molde { border-radius: 11px; background: rgba(242,118,61,.065); border-color: rgba(242,118,61,.23); padding: 11px 13px; }

#resultado { display: grid; gap: 16px; }
#resultado > .cartao { margin-top: 0 !important; }
.resultado-card { position: relative; overflow: hidden; }
.resultado-card::before { content: ""; position: absolute; top: 0; left: 0; right: 0; height: 3px; background: var(--indigo); opacity: .9; }
.resultado-head { display: flex; justify-content: space-between; align-items: center; gap: 12px; flex-wrap: wrap; }
.resultado-identidade, .resultado-acoes { display: flex; align-items: center; gap: 9px; flex-wrap: wrap; }
.resultado-card .roteiro-doc { margin-top: 12px; }

/* scripts library and detail */
.roteiros-page .cabecalho h1 { font-size: 30px; }
.roteiros-page .roteiros-toolbar { display: flex; align-items: center; justify-content: space-between; gap: 14px; flex-wrap: wrap; }
.roteiros-page .roteiro-meta { display: flex; align-items: center; gap: 8px; margin-top: 8px; flex-wrap: wrap; }
.roteiros-page .area-publicacao { margin-bottom: 16px !important; background: var(--superficie); }
.roteiros-page .acoes-roteiro { align-items: stretch !important; }
.roteiros-page .acoes-roteiro .cartao { min-height: 190px; }

/* preview and verdict */
.post-preview { border-radius: 18px; box-shadow: 0 8px 26px rgba(40,43,61,.075); }
.pp-texto { font-size: 15.5px; line-height: 1.52; }
.bloco-roteiro { padding: 15px 0; border-bottom-color: #eceef3; }
.bloco-roteiro .texto { font-size: 14.5px; line-height: 1.68; }
.criterios { gap: 9px; }
.criterio .trilha { height: 6px; background: #e8eaf1; }
.criterio .barra { background: var(--acento); }

/* login */
.tela-login { background: #fbfbfd; }
.painel-form { background: var(--superficie); }
.painel-form .caixa { max-width: 380px; }
.painel-form .caixa h1 { font-size: 30px; letter-spacing: -.035em; }
.painel-marca { background: #2d5d60; }
.painel-marca .frase { font-size: 21px; line-height: 1.42; max-width: 400px; }

#toast-aurora { backdrop-filter: blur(12px); background: rgba(24,24,27,.92) !important; border: 1px solid rgba(255,255,255,.12); }

@media (max-width: 900px) {
  .conteudo > .folha > .miolo { padding: 28px 20px 96px; }
  .cartao { border-radius: 14px; }
}
@media (max-width: 760px) {
  .cabecalho h1, .dashboard-page .cabecalho h1, .gerador-page .cabecalho h1, .roteiros-page .cabecalho h1 { font-size: 24px; }
  .ger-secao { gap: 18px; padding: 23px 19px; }
  .ger-rail { padding-left: 16px; }
  .ger-rodape { padding: 17px 19px; }
  .resultado-head { align-items: flex-start; }
  .resultado-acoes { width: 100%; }
  .resultado-acoes .botao { flex: 1; }
  .post-preview { max-width: none; }
}


/* ---------- detail polish and accessibility ---------- */
button, a, input, textarea, select { -webkit-tap-highlight-color: transparent; }
button:focus-visible, a:focus-visible, input:focus-visible, textarea:focus-visible, select:focus-visible {
  outline: 3px solid rgba(99,91,223,.28);
  outline-offset: 2px;
}
.roteiros-breadcrumb { margin-bottom: 9px; }
.roteiros-breadcrumb a { font-size: 12px; font-weight: 620; color: var(--indigo); }
.area-publicacao {
  display: flex;
  align-items: center;
  gap: 11px;
  flex-wrap: wrap;
  margin-bottom: 16px !important;
  background: var(--superficie);
}
.area-publicacao input { flex: 1; min-width: 220px; }
.roteiro-main-card { box-shadow: 0 10px 30px rgba(40,43,61,.06); }
.roteiros-page > .cartao:first-of-type { box-shadow: var(--sombra-2); }
.roteiros-page details summary { color: #666a79; transition: color 140ms ease; }
.roteiros-page details summary:hover { color: var(--indigo); }
.pautas-area { margin-top: 10px; padding: 10px 12px 12px; border: 1px dashed #d9dce7; border-radius: 11px; background: rgba(99,91,223,.025); }
.platform-chips { padding: 2px 0 4px; }
.ger-publi--advanced { padding-top: 2px; border-top: 1px solid #eef0f5; }
.ger-publi--advanced select { min-width: 180px; }
.gerador-page .ajuda { color: #858997; }

@media (max-width: 900px) {
  .lateral + .conteudo { min-width: 0; }
}
@media (max-width: 600px) {
  .conteudo > .folha > .miolo { padding-left: 14px; padding-right: 14px; }
  .cartao { padding: 18px 16px; }
  .dashboard-page .cabecalho, .gerador-page .cabecalho { align-items: flex-start; }
  .cabecalho > .botao, .cabecalho .botao { width: 100%; }
  .area-publicacao input { min-width: 100%; }
  .area-publicacao .botao { flex: 1; }
  .roteiros-page .cabecalho > div:last-child { width: 100%; display: flex; }
  .roteiros-page .cabecalho > div:last-child .botao { flex: 1; }
}


/* ---------- estúdio criativo: solid surfaces only ---------- */
.lateral nav a:hover { background: #eee5da; color: var(--tinta); }
.lateral nav a.ativo { background: #e9d8c6; border-color: #d9c2ad; box-shadow: 0 4px 12px rgba(91,67,45,.08); }
.lateral nav a.ativo svg { stroke: var(--indigo); }
.chip:hover { border-color: rgba(31,93,99,.48); }
.chip.ativo { background: #2d5051; border-color: #2d5051; }

.botao-gerar {
  background: #2d5051;
  border-color: #2d5051;
  color: #fff;
  box-shadow: 0 5px 14px rgba(45,80,81,.18);
}
.botao-gerar:hover:not(:disabled) {
  background: #234344;
  border-color: #234344;
  box-shadow: 0 7px 18px rgba(45,80,81,.23);
}

.metrica::before, .ger-rail::before { background: var(--acento); }
.resultado-card::before { background: var(--indigo); }
.criterio .barra { background: var(--acento); }
.prog-passo.ativa .ic::after { background: var(--acento); }
.prog-linhas span { background: #e5dbcf; background-size: auto; animation: none; }

.carta-skeleton { background: #3c3732; background-size: auto; animation: none; }
.item-bib--skeleton .video-bib,
.item-bib--skeleton .corpo-bib span { background: #e8ded2; background-size: auto; animation: none; }
.carta-viral .scrim { background: rgba(24,21,18,.52); }
.painel-marca { background: #2d5d60; }
.painel-marca::after { display: none; }

@media (prefers-reduced-motion: reduce) {
  .carta-skeleton, .item-bib--skeleton .video-bib, .item-bib--skeleton .corpo-bib span, .prog-linhas span { animation: none; }
}


/* ---------- authenticated product structure ---------- */
.barra-superior {
  height: 68px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  padding: 0 44px;
  border-bottom: 1px solid #e3d9cd;
  background: rgba(255,253,249,.86);
}
.barra-contexto { display: flex; align-items: baseline; gap: 11px; min-width: 0; }
.barra-eyebrow, .page-kicker, .section-kicker {
  color: var(--acento);
  font-size: 10px;
  font-weight: 750;
  letter-spacing: .13em;
  text-transform: uppercase;
}
.barra-titulo { color: var(--tinta); font-size: 14px; font-weight: 650; letter-spacing: -.01em; }
.barra-atalho, .atalho-novo {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  min-height: 36px;
  border-radius: 9px;
  background: #2d5051;
  color: #fff;
  font-size: 12.5px;
  font-weight: 650;
  box-shadow: 0 4px 10px rgba(45,80,81,.12);
  transition: transform 140ms ease, background 140ms ease;
}
.barra-atalho { padding: 0 13px; }
.barra-atalho svg, .atalho-novo svg { width: 15px; height: 15px; stroke: currentColor; }
.barra-atalho:hover, .atalho-novo:hover { background: #234344; color: #fff; transform: translateY(-1px); }
.atalho-novo { margin: 0 7px 13px; padding: 0 11px; justify-content: flex-start; }
.atalho-novo kbd {
  margin-left: auto;
  padding: 1px 5px;
  border: 1px solid rgba(255,255,255,.25);
  border-radius: 5px;
  color: rgba(255,255,255,.72);
  font: inherit;
  font-size: 10px;
}
.nav-grupos { display: grid; gap: 10px; }
.nav-grupo { display: grid; gap: 2px; }
.nav-grupo-titulo {
  padding: 3px 12px 5px;
  color: #9a8f83;
  font-size: 10px;
  font-weight: 750;
  letter-spacing: .11em;
  text-transform: uppercase;
}

.dashboard-heading { margin-bottom: 20px; }
.dashboard-heading .page-kicker { display: block; margin-bottom: 7px; }
.dashboard-hero {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 28px;
  min-height: 190px;
  margin-bottom: 17px;
  padding: 28px 30px;
  background: #2d5051;
  border-color: #2d5051;
  color: #fff;
  box-shadow: 0 14px 26px rgba(45,80,81,.12);
}
.dashboard-hero__copy { max-width: 600px; }
.dashboard-hero .section-kicker { color: #e6b08f; }
.dashboard-hero h2 { max-width: 530px; margin-top: 10px; color: #fff; font-size: 25px; line-height: 1.18; letter-spacing: -.035em; }
.dashboard-hero p { max-width: 500px; margin-top: 9px; color: #d5e0dd; font-size: 14px; }
.dashboard-hero__actions { display: flex; gap: 9px; flex-wrap: wrap; }
.dashboard-hero .botao { background: #fffdf9; border-color: #fffdf9; color: #2d5051; box-shadow: none; }
.dashboard-hero .botao:hover { background: #f7f1e8; border-color: #f7f1e8; }
.dashboard-hero .botao.claro { background: transparent; border-color: rgba(255,255,255,.35); color: #fff; }
.dashboard-hero .botao.claro:hover { background: rgba(255,255,255,.1); border-color: rgba(255,255,255,.6); }
.dashboard-grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(270px, 330px); gap: 16px; align-items: start; }
.dashboard-primary, .dashboard-secondary { min-width: 0; }
.dashboard-secondary { display: grid; gap: 16px; }
.dashboard-panel { padding: 19px 20px; }
.panel-heading { display: flex; align-items: flex-start; justify-content: space-between; gap: 12px; margin-bottom: 4px; }
.panel-heading h2 { margin-top: 5px; font-size: 15px; }
.panel-link { font-size: 12px; font-weight: 650; white-space: nowrap; }
.dashboard-page .dashboard-metrics { margin-bottom: 16px; }
.dashboard-page .dashboard-metrics .cartao { min-height: 116px; }
.dashboard-page #resultados .cartao, .dashboard-page #canal-yt .cartao { margin-top: 0 !important; margin-bottom: 16px; }

@media (max-width: 900px) {
  .barra-superior { height: 60px; padding: 0 20px; }
  .barra-atalho { min-height: 34px; padding: 0 10px; }
  .barra-atalho span { display: none; }
  .dashboard-grid { grid-template-columns: 1fr; }
  .dashboard-secondary { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .dashboard-hero { align-items: flex-start; flex-direction: column; }
}
@media (max-width: 600px) {
  .barra-superior { padding: 0 14px; }
  .barra-eyebrow { display: none; }
  .dashboard-hero { padding: 23px 20px; }
  .dashboard-hero h2 { font-size: 22px; }
  .dashboard-hero__actions { width: 100%; }
  .dashboard-hero__actions .botao { flex: 1; }
  .dashboard-secondary { grid-template-columns: 1fr; }
}


/* ---------- generator workspace structure ---------- */
.gerador-layout { display: grid; grid-template-columns: minmax(0, 1fr) 280px; gap: 18px; align-items: start; }
.gerador-primary, .gerador-aside { min-width: 0; }
.gerador-aside { display: grid; gap: 16px; position: sticky; top: 24px; }
.gerador-orientacao { padding: 21px 20px; background: #fffaf3; border-color: #e4d4c2; }
.gerador-orientacao h2, .gerador-dica h2 { margin-top: 8px; color: var(--tinta); font-size: 17px; line-height: 1.28; letter-spacing: -.02em; }
.mapa-roteiro { display: grid; gap: 0; margin-top: 18px; }
.mapa-passo { display: grid; grid-template-columns: 27px 1fr; gap: 10px; padding: 13px 0; border-top: 1px solid #e6dacd; }
.mapa-passo > span { color: var(--acento); font-size: 10px; font-weight: 750; letter-spacing: .08em; padding-top: 2px; }
.mapa-passo strong { display: block; color: var(--tinta); font-size: 12.5px; }
.mapa-passo p { margin-top: 4px; color: var(--suave); font-size: 12px; line-height: 1.45; }
.gerador-dica { padding: 19px 20px; background: var(--indigo); border-color: var(--indigo); }
.gerador-dica .section-kicker { color: #e7c2a3; }
.gerador-dica h2 { color: #fff; }
.gerador-dica p { margin-top: 9px; color: #d9e4e1; font-size: 12.5px; line-height: 1.55; }

@media (max-width: 1000px) {
  .gerador-layout { grid-template-columns: 1fr; }
  .gerador-aside { position: static; grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 600px) {
  .gerador-aside { grid-template-columns: 1fr; }
}


/* ---------- content library structure ---------- */
.roteiros-list-heading { align-items: flex-end; }
.roteiros-list-heading .page-kicker { display: block; margin-bottom: 7px; }
.roteiros-heading-actions { display: flex; align-items: center; gap: 12px; }
.contador-biblioteca { color: var(--suave); font-size: 12px; font-weight: 650; }
.biblioteca-card { padding: 0 24px 8px; }
.biblioteca-intro {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 16px;
  padding: 22px 0 18px;
  border-bottom: 1px solid #e8ded3;
}
.biblioteca-intro h2 { margin-top: 6px; font-size: 17px; }
.biblioteca-intro > a { font-size: 12px; font-weight: 650; white-space: nowrap; }
.biblioteca-lista .lista-linha { padding-top: 16px; padding-bottom: 16px; }
.roteiro-detail-heading { align-items: flex-end; }
.roteiro-top-actions { display: flex; gap: 8px; flex-shrink: 0; }
.roteiro-detail-heading h1 { max-width: 720px; }

@media (max-width: 600px) {
  .roteiros-list-heading { align-items: flex-start; }
  .roteiros-heading-actions { width: 100%; justify-content: space-between; }
  .roteiros-heading-actions .botao { flex: 1; }
  .biblioteca-card { padding-left: 16px; padding-right: 16px; }
  .biblioteca-intro { align-items: flex-start; flex-direction: column; }
  .roteiro-detail-heading { align-items: flex-start; }
  .roteiro-top-actions { width: 100%; }
  .roteiro-top-actions .botao { flex: 1; }
}


/* ---------- replyline reference direction ---------- */
:root {
  --fundo: #ffffff;
  --superficie: #ffffff;
  --superficie-2: #f5f5f3;
  --borda: #000000;
  --borda-forte: #000000;
  --tinta: #111111;
  --texto: #333333;
  --suave: #6c6c6c;
  --apagado: #929292;
  --acento: #e62222;
  --indigo: #e62222;
  --verde: #1f1f1f;
  --ambar: #6b6b6b;
  --vermelho: #e62222;
  --raio: 0;
  --sombra: none;
  --sombra-2: none;
  --sans: "Archivo", Arial, Helvetica, sans-serif;
}
body { background: #fff; color: var(--texto); font-family: var(--sans); font-feature-settings: normal; }
h1, h2, h3 { color: var(--tinta); font-weight: 700; }
h1 { font-size: 29px; letter-spacing: -.055em; line-height: .98; }
h2 { font-size: 16px; letter-spacing: -.025em; }
a.link { color: var(--tinta); text-decoration: underline; text-underline-offset: 3px; }

/* Desktop shell: Replyline keeps the app as a white canvas split by one hard rule. */
.lateral {
  width: 248px;
  padding: 0;
  background: #f8f8f6;
  border-right: 1px solid #000;
  position: sticky;
}
.lateral .logo {
  height: 83px;
  padding: 0 18px;
  gap: 10px;
  border-bottom: 1px solid #000;
  font-size: 14px;
  font-weight: 800;
  letter-spacing: -.02em;
}
.lateral .logo .marca { width: 23px; height: 23px; }
.atalho-novo {
  margin: 18px 15px 14px;
  min-height: 42px;
  padding: 0 12px;
  border-radius: 0;
  background: #000;
  color: #fff;
  box-shadow: none;
  font-size: 11px;
  font-weight: 750;
  letter-spacing: .04em;
  text-transform: uppercase;
}
.atalho-novo:hover { background: var(--acento); transform: none; }
.atalho-novo kbd { border-radius: 0; border-color: rgba(255,255,255,.38); }
.lateral .secao { padding: 16px 19px 7px; color: #707070; font-size: 9px; letter-spacing: .14em; }
.nav-grupos { gap: 10px; }
.nav-grupo { gap: 0; }
.nav-grupo-titulo { padding: 4px 19px 5px; color: #7d7d7d; font-size: 9px; letter-spacing: .14em; }
.lateral nav a {
  height: 42px;
  padding: 0 18px;
  gap: 10px;
  border: 0;
  border-bottom: 1px solid rgba(0,0,0,.12);
  border-radius: 0;
  color: #3f3f3f;
  font-size: 12.5px;
  font-weight: 600;
}
.lateral nav a svg { width: 15px; height: 15px; stroke: #4b4b4b; }
.lateral nav a:hover { background: #000; color: #fff; transform: none; }
.lateral nav a:hover svg { stroke: #fff; }
.lateral nav a.ativo { background: #000; color: #fff; border-color: #000; box-shadow: none; }
.lateral nav a.ativo svg { stroke: #fff; }
.lateral .rodape { padding: 14px 15px 16px; border-top: 1px solid #000; }
.lateral .rodape .avatar { border-radius: 0; background: var(--acento); box-shadow: none; }
.lateral .rodape .email { font-size: 11px; font-weight: 700; }
.lateral .rodape button { font-size: 10px; text-transform: uppercase; letter-spacing: .08em; }

.conteudo { overflow: visible; background: #fff; }
.barra-superior { display: none; }
.conteudo > .folha > .miolo { max-width: none; padding: 0; margin: 0; }
.folha:not(.folha--guardada) { background: #fff; }
.folha--guardada { visibility: hidden; }

/* Page headers share the same Replyline rhythm: kicker, hard headline, action. */
.cabecalho {
  min-height: 116px;
  margin: 0;
  padding: 40px 48px 25px;
  align-items: flex-end;
  border-bottom: 1px solid #000;
}
.cabecalho h1 { font-size: 35px; }
.cabecalho p { margin-top: 8px; color: #6c6c6c; font-size: 13px; }
.page-kicker, .section-kicker { color: #707070; font-size: 9px; letter-spacing: .16em; }
.botao {
  min-height: 42px;
  height: auto;
  padding: 0 17px;
  border: 1px solid #000;
  border-radius: 0;
  background: #000;
  color: #fff;
  box-shadow: none;
  font-size: 10px;
  font-weight: 750;
  letter-spacing: .10em;
  text-transform: uppercase;
}
.botao:hover { background: var(--acento); border-color: var(--acento); transform: none; box-shadow: none; }
.botao.claro { background: #fff; color: #000; border-color: #000; }
.botao.claro:hover { background: #000; color: #fff; box-shadow: none; }
.botao.mini { min-height: 34px; height: 34px; padding: 0 11px; border-radius: 0; font-size: 9px; }

.cartao { border: 1px solid #000; border-radius: 0; padding: 24px; background: #fff; box-shadow: none; }
.grade { gap: 0; }
.dashboard-page, .gerador-page, .roteiros-page { padding-bottom: 64px; }

/* Dashboard: no hero card; the page begins with metrics, activity, and setup. */
.dashboard-heading { min-height: 144px; padding-top: 47px; }
.dashboard-heading .page-kicker { display: block; margin-bottom: 9px; }
.dashboard-hero { display: none; }
.dashboard-page .dashboard-metrics { display: grid; grid-template-columns: repeat(4, minmax(0,1fr)); margin: 0; border-bottom: 1px solid #000; }
.dashboard-page .dashboard-metrics .cartao { min-height: 138px; padding: 22px 24px; border: 0; border-right: 1px solid #000; }
.dashboard-page .dashboard-metrics .cartao:last-child { border-right: 0; }
.dashboard-page .dashboard-metrics .metrica::before { display: none; }
.metrica .rotulo { color: #6f6f6f; font-size: 9px; letter-spacing: .14em; }
.metrica .valor { margin-top: 18px; font-size: 32px; font-weight: 800; letter-spacing: -.06em; }
.metrica .apoio { margin-top: 5px; color: #757575; font-size: 11px; }
.dashboard-grid { display: grid; grid-template-columns: minmax(0, 2fr) minmax(290px, 1fr); gap: 0; border-bottom: 1px solid #000; }
.dashboard-primary { border-right: 1px solid #000; }
.dashboard-page #resultados .cartao, .dashboard-page #canal-yt .cartao { margin: 0 !important; border: 0; border-bottom: 1px solid #000; }
.dashboard-secondary { display: block; }
.dashboard-panel { padding: 27px 28px; border: 0; border-bottom: 1px solid #000; }
.dashboard-panel:last-child { border-bottom: 0; }
.panel-heading { margin-bottom: 14px; }
.panel-heading h2 { margin-top: 7px; font-size: 20px; letter-spacing: -.045em; }
.panel-link { font-size: 9px; text-transform: uppercase; letter-spacing: .1em; }
.lista-linha { padding: 15px 0; border-bottom: 1px solid #000; }
.lista-linha:last-child { border-bottom: 0; }

/* Generator: full-width white workspace with hairline sections and a narrow rail. */
.gerador-layout { grid-template-columns: minmax(0, 1fr) 348px; gap: 0; border-bottom: 1px solid #000; }
.gerador-primary { padding: 0 48px; border-right: 1px solid #000; }
.gerador-aside { position: static; display: block; padding: 32px 34px; background: #fff; }
.ger-card { border: 0; border-radius: 0; box-shadow: none; }
.ger-secao { grid-template-columns: 188px 1fr; gap: 30px; padding: 30px 0; border-top: 1px solid #000; }
.ger-secao:first-child { border-top: 0; }
.ger-rail { padding-left: 0; }
.ger-rail::before { display: none; }
.ger-rail .passo { color: var(--acento); font-size: 10px; letter-spacing: .13em; }
.ger-rail h2 { font-size: 20px; letter-spacing: -.04em; }
.ger-rail p { color: #737373; line-height: 1.5; }
.ger-campos { min-width: 0; }
input, textarea, select { min-height: 42px; border: 1px solid #000; border-radius: 0; background: #fff; box-shadow: none; }
input:focus, textarea:focus, select:focus { border-color: var(--acento); box-shadow: 0 0 0 2px rgba(230,34,34,.14); }
label { margin: 17px 0 7px; color: #222; font-size: 10px; font-weight: 700; letter-spacing: .02em; }
.chips { gap: 0; }
.chip { height: 36px; padding: 0 13px; border: 1px solid #000; border-radius: 0; margin: 0 -1px -1px 0; color: #222; font-size: 11px; }
.chip.ativo { background: #000; border-color: #000; color: #fff; box-shadow: none; }
.chip:hover { border-color: var(--acento); background: #fff; transform: none; }
.chip.ativo:hover { background: var(--acento); color: #fff; }
.gerador-orientacao, .gerador-dica { border-radius: 0; box-shadow: none; }
.gerador-orientacao { padding: 22px 20px; background: #f5f5f3; border: 0; border-top: 4px solid var(--acento); }
.gerador-orientacao h2, .gerador-dica h2 { font-size: 20px; letter-spacing: -.045em; }
.mapa-roteiro { margin-top: 22px; }
.mapa-passo { padding: 17px 0; border-top: 1px solid #000; }
.mapa-passo > span { color: var(--acento); }
.mapa-passo strong { font-size: 12px; }
.mapa-passo p { font-size: 11px; }
.gerador-dica { margin-top: 18px; padding: 22px 20px; background: #fff; border: 1px solid #000; }
.gerador-dica .section-kicker { color: var(--acento); }
.gerador-dica p { color: #666; }
.ger-rodape { margin: 0 -48px; padding: 20px 48px; border-top: 1px solid #000; background: #f5f5f3; }
.botao-gerar { min-height: 46px; border-radius: 0; background: #000; border-color: #000; box-shadow: none; }
.botao-gerar:hover:not(:disabled) { background: var(--acento); border-color: var(--acento); box-shadow: none; }
#resultado { padding-bottom: 30px; }
.resultado-card { border: 1px solid #000; border-radius: 0; box-shadow: none; }
.resultado-card::before { background: var(--acento); opacity: 1; }

/* Library and detail: content is framed by rules, not floating cards. */
.roteiros-list-heading, .roteiro-detail-heading { min-height: 144px; }
.roteiros-heading-actions { gap: 18px; }
.contador-biblioteca { color: #666; font-size: 10px; font-weight: 700; text-transform: uppercase; letter-spacing: .1em; }
.biblioteca-card { padding: 0 48px 8px; border: 0; }
.biblioteca-intro { padding: 26px 0 20px; border-bottom: 1px solid #000; }
.biblioteca-intro h2 { margin-top: 7px; font-size: 21px; }
.biblioteca-intro > a { font-size: 10px; text-transform: uppercase; letter-spacing: .1em; }
.roteiro-top-actions { gap: 0; }
.roteiro-top-actions .botao + .botao { margin-left: -1px; }
.area-publicacao { border: 1px solid #000; border-radius: 0; box-shadow: none; }
.post-preview { border: 1px solid #000; border-radius: 0; box-shadow: none; }

@media (max-width: 1050px) {
  .lateral { width: 220px; }
  .cabecalho, .dashboard-heading, .roteiros-list-heading, .roteiro-detail-heading { padding-left: 30px; padding-right: 30px; }
  .gerador-primary { padding-left: 30px; padding-right: 30px; }
  .ger-rodape { margin-left: -30px; margin-right: -30px; padding-left: 30px; padding-right: 30px; }
  .biblioteca-card { padding-left: 30px; padding-right: 30px; }
}
@media (max-width: 900px) {
  .lateral { display: none; }
  .conteudo { padding-bottom: 65px; }
  .dashboard-page .dashboard-metrics { grid-template-columns: repeat(2, minmax(0,1fr)); }
  .dashboard-page .dashboard-metrics .cartao { border-bottom: 1px solid #000; }
  .dashboard-page .dashboard-metrics .cartao:nth-child(2n) { border-right: 0; }
  .dashboard-grid { grid-template-columns: 1fr; }
  .dashboard-primary { border-right: 0; }
  .dashboard-secondary { border-top: 1px solid #000; }
  .gerador-layout { grid-template-columns: 1fr; }
  .gerador-primary { border-right: 0; }
  .gerador-aside { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 0; padding: 0 30px 30px; }
  .gerador-orientacao, .gerador-dica { margin-top: 30px; }
  .gerador-orientacao { margin-right: 8px; }
  .gerador-dica { margin-left: 8px; }
}
@media (max-width: 600px) {
  .cabecalho, .dashboard-heading, .roteiros-list-heading, .roteiro-detail-heading { min-height: 120px; padding: 28px 18px 20px; align-items: flex-start; flex-direction: column; }
  .cabecalho > .botao, .cabecalho .botao { width: auto; }
  .dashboard-page .dashboard-metrics { grid-template-columns: 1fr 1fr; }
  .dashboard-page .dashboard-metrics .cartao { min-height: 114px; padding: 17px 15px; }
  .dashboard-page .dashboard-metrics .metrica .valor { margin-top: 12px; font-size: 25px; }
  .dashboard-panel { padding: 22px 18px; }
  .gerador-primary { padding-left: 18px; padding-right: 18px; }
  .ger-secao { grid-template-columns: 1fr; gap: 13px; padding: 24px 0; }
  .ger-rodape { margin-left: -18px; margin-right: -18px; padding-left: 18px; padding-right: 18px; }
  .gerador-aside { display: block; padding: 0 18px 20px; }
  .gerador-orientacao, .gerador-dica { margin: 18px 0 0; }
  .biblioteca-card { padding-left: 18px; padding-right: 18px; }
  .roteiros-heading-actions { width: 100%; justify-content: space-between; }
  .roteiros-heading-actions .botao { flex: 1; }
}


/* ---------- generator idea suggestions ---------- */
#pautas-area {
  margin-top: 12px;
  padding: 13px;
  border: 1px dashed #bdbdbd;
  border-radius: 0;
  background: #f5f5f3;
}
#pautas-chips {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 220px), 1fr));
  gap: 8px;
  align-items: stretch;
  margin-top: 0 !important;
}
#pautas-chips > span {
  grid-column: 1 / -1;
  align-self: center;
  color: #6c6c6c !important;
  font-size: 10px !important;
  font-weight: 700;
  letter-spacing: .1em;
  text-transform: uppercase;
}
#pautas-chips .chip {
  width: 100%;
  min-width: 0;
  min-height: 44px;
  height: auto;
  margin: 0;
  padding: 9px 11px;
  justify-content: flex-start;
  text-align: left;
  white-space: normal;
  line-height: 1.35;
  overflow-wrap: anywhere;
}
@media (max-width: 600px) {
  #pautas-chips { grid-template-columns: 1fr; }
}


/* ---------- garimpo library stability ---------- */
.garimpo-library { padding: 0 0 20px; overflow: hidden; }
.garimpo-library-heading { padding: 22px 22px 16px; border-bottom: 1px solid #000; }
.garimpo-library-heading h2 { font-size: 21px; letter-spacing: -.045em; }
.garimpo-library-heading .ajuda { font-size: 10px; text-transform: uppercase; letter-spacing: .08em; }
.garimpo-library .filtros-bib { margin: 0; padding: 16px 22px; border-bottom: 1px solid #000; }
.garimpo-library .filtros-bib input, .garimpo-library .filtros-bib select { border-radius: 0; border-color: #000; }
.grade-bib { grid-template-columns: repeat(auto-fill, minmax(185px, 1fr)); gap: 0; padding: 0 22px; }
.item-bib {
  min-width: 0;
  border: 0;
  border-right: 1px solid #000;
  border-bottom: 1px solid #000;
  border-radius: 0;
  background: #fff;
}
.item-bib:nth-child(4n + 1) { border-left: 1px solid #000; }
.item-bib .video-bib { aspect-ratio: 4 / 5; background: #171717; overflow: hidden; }
.item-bib .video-bib video, .item-bib .video-bib img { object-position: center top; }
.item-bib .metrica {
  left: 0; right: 0; bottom: 0;
  padding: 7px 9px;
  background: rgba(0,0,0,.62);
  text-shadow: none;
  font-size: 9px;
  letter-spacing: .03em;
}
.item-bib .corpo-bib { min-height: 155px; padding: 14px; gap: 8px; }
.item-bib .hook-bib { min-height: 51px; font-size: 12px; line-height: 1.42; }
.item-bib .canal-bib { min-height: 30px; font-size: 10.5px; line-height: 1.4; }
.item-bib .acoes-bib { margin-top: auto; }
.btn-molde { padding: 8px 10px; border-radius: 0; border-color: #000; background: #fff; font-size: 10px; font-weight: 750; text-transform: uppercase; letter-spacing: .04em; }
.btn-molde:hover { background: #000; color: #fff; }

@media (max-width: 900px) {
  .grade-bib { padding: 0 16px; }
  .garimpo-library-heading, .garimpo-library .filtros-bib { padding-left: 16px; padding-right: 16px; }
}
@media (max-width: 600px) {
  .grade-bib { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .item-bib:nth-child(4n + 1) { border-left: 0; }
  .item-bib:nth-child(2n + 1) { border-left: 1px solid #000; }
  .item-bib .corpo-bib { min-height: 145px; padding: 11px; }
}


/* ---------- route recovery state ---------- */
.estado-rota-erro { max-width: 680px !important; margin: 0 auto; padding-top: 64px !important; }
.estado-rota-erro .cartao { border: 1px solid #000; padding: 30px; }
.estado-rota-erro h1 { margin-top: 10px; font-size: 28px; }
.estado-rota-erro p { margin-top: 10px; color: #666; }
.estado-rota-acoes { display: flex; gap: 0; margin-top: 22px; }
.estado-rota-acoes .botao + .botao { margin-left: -1px; }
@media (max-width: 600px) {
  .estado-rota-erro { padding: 28px 18px 80px !important; }
  .estado-rota-acoes { width: 100%; }
  .estado-rota-acoes .botao { flex: 1; }
}


/* ---------- garimpo media / metadata separation ---------- */
.item-bib { display: grid; grid-template-rows: auto auto 1fr; }
.item-bib .video-bib { position: relative; }
.item-bib .metrica {
  position: static;
  display: flex;
  align-items: center;
  justify-content: space-between;
  min-height: 30px;
  padding: 7px 12px;
  background: #fff;
  border-top: 1px solid #000;
  color: #666;
  text-shadow: none;
  font-size: 9px;
  font-weight: 700;
  letter-spacing: .06em;
  text-transform: uppercase;
}
.item-bib .metrica span:empty { visibility: hidden; }
.item-bib .corpo-bib { min-height: 145px; }
@media (max-width: 600px) {
  .item-bib .metrica { padding-left: 10px; padding-right: 10px; }
}


/* ---------- dashboard latest scripts ---------- */
.ultimos-lista { border-top: 1px solid #000; }
.dashboard-panel a.ultimo-roteiro {
  display: grid;
  grid-template-columns: 28px minmax(0, 1fr) 18px;
  align-items: center;
  gap: 10px;
  min-height: 78px;
  margin: 0;
  padding: 14px 0;
  border-bottom: 1px solid #000;
  border-radius: 0;
  background: #fff;
}
.dashboard-panel a.ultimo-roteiro:last-child { border-bottom: 0; }
.dashboard-panel a.ultimo-roteiro:hover { background: #f5f5f3; }
.ultimo-roteiro__index { align-self: start; padding-top: 2px; color: var(--acento); font-size: 10px; font-weight: 800; letter-spacing: .08em; }
.ultimo-roteiro .titulo {
  display: -webkit-box;
  overflow: hidden;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  font-size: 12.5px;
  font-weight: 700;
  line-height: 1.32;
  letter-spacing: -.01em;
}
.ultimo-roteiro .meta { display: block; margin-top: 6px; color: #777; font-size: 10px; }
.ultimo-roteiro__plataforma { color: #333; font-weight: 700; }
.ultimo-roteiro__arrow { align-self: start; padding-top: 1px; color: #777; font-size: 17px; line-height: 1; }
.dashboard-panel a.ultimo-roteiro:hover .ultimo-roteiro__arrow { color: var(--acento); }
@media (max-width: 600px) {
  .dashboard-panel a.ultimo-roteiro { min-height: 70px; }
}


/* ---------- deep X mode ---------- */
.modo-x-wrap {
  margin: 16px 0 6px;
  padding: 14px 15px;
  border: 1px solid #000;
  background: #f5f5f3;
}
.modo-x-wrap label { margin-top: 0; }
.modo-x-wrap select { width: 100%; }
.modo-x-wrap .ajuda { margin-top: 7px; font-size: 11px; line-height: 1.45; }
.post-preview.x.profundo .pp-rodape { background: #f5f5f3; }
.post-preview.x.profundo .pp-conta { color: var(--acento); }


.modo-x-case-wrap { margin-top: 13px; padding-top: 13px; border-top: 1px solid #000; }
.modo-x-case-wrap textarea { width: 100%; min-height: 118px; resize: vertical; line-height: 1.5; }
.modo-x-case-wrap .ajuda { margin-top: 6px; font-size: 10.5px; }

/* ---------- strategic X thread preview ---------- */
.x-thread-preview { margin-top: 12px; max-width: 620px; }
.thread-intro { display: flex; align-items: baseline; gap: 9px; padding: 0 0 9px; border-bottom: 2px solid var(--tinta); }
.thread-intro span { color: var(--acento); font-size: 10px; font-weight: 800; letter-spacing: .14em; }
.thread-intro strong { font-size: 12px; letter-spacing: .03em; }
.thread-intro small { margin-left: auto; color: var(--suave); font-size: 11px; }
.thread-post { position: relative; margin: 0; padding: 15px 17px 17px 20px; border: 1px solid var(--borda); border-top: 0; background: var(--superficie); }
.thread-post::before { content: ""; position: absolute; left: 8px; top: 0; bottom: 0; border-left: 1px solid var(--borda); }
.thread-post-hook { border-top: 1px solid var(--borda); padding-top: 18px; }
.thread-post-hook::before { top: 0; border-left: 2px solid var(--acento); }
.thread-post-final { border-bottom: 1px solid var(--borda); }
.thread-post-final::before { bottom: 18px; }
.thread-post-meta { display: flex; justify-content: space-between; gap: 10px; margin-bottom: 8px; color: var(--suave); font-size: 9.5px; font-weight: 700; letter-spacing: .09em; text-transform: uppercase; }
.thread-post-meta span:first-child { color: var(--acento); }
.thread-post-text { white-space: pre-wrap; overflow-wrap: anywhere; color: var(--tinta); font-size: 15px; line-height: 1.55; }
.thread-post-hook .thread-post-text { font-size: 16px; font-weight: 650; line-height: 1.45; }
.thread-post-final .thread-post-text { font-weight: 520; }
.thread-tags { display: flex; flex-wrap: wrap; gap: 5px; padding: 10px 0 0 20px; }
.thread-tags span { color: var(--acento); font-size: 12px; }
.post-preview.x.profundo { max-width: 620px; }
.post-preview.x.profundo .pp-texto { margin-top: 0; }
@media (max-width: 700px) {
  .x-thread-preview { max-width: none; }
  .thread-post { padding-left: 17px; }
  .thread-post::before { left: 6px; }
  .thread-post-text { font-size: 14px; }
  .thread-intro small { display: none; }
}

/* Independent X-like posts: no title/subpost hierarchy. */
.thread-toolbar { display: flex; align-items: center; justify-content: space-between; gap: 14px; padding: 0 0 12px; border-bottom: 2px solid var(--tinta); }
.thread-toolbar-copy { display: flex; align-items: baseline; flex-wrap: wrap; gap: 9px; }
.thread-kicker { color: var(--acento); font-size: 10px; font-weight: 800; letter-spacing: .13em; }
.thread-toolbar-copy strong { font-size: 12px; }
.thread-toolbar-copy small { color: var(--suave); font-size: 11px; }
.thread-copy-all, .thread-copy { white-space: nowrap; cursor: pointer; }
.thread-posts { display: grid; gap: 12px; padding-top: 12px; }
.x-thread-preview .thread-post { border: 1px solid var(--borda); border-top: 1px solid var(--borda); padding: 15px 17px; background: var(--superficie); }
.x-thread-preview .thread-post::before { display: none; }
.x-thread-preview .thread-post-hook { border-top: 2px solid var(--tinta); padding-top: 14px; }
.x-thread-preview .thread-post-hook::before { display: none; }
.x-thread-preview .thread-post-final { border-bottom: 1px solid var(--borda); }
.x-thread-preview .thread-post-final::before { display: none; }
.thread-post-top { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-bottom: 14px; }
.thread-author { display: flex; align-items: center; gap: 9px; min-width: 0; }
.thread-avatar { display: grid; width: 30px; height: 30px; flex: 0 0 30px; place-items: center; border: 1px solid var(--tinta); border-radius: 50%; font-size: 12px; font-weight: 700; }
.thread-author strong, .thread-author small { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.thread-author strong { font-size: 12px; }
.thread-author small { margin-top: 2px; color: var(--suave); font-size: 10px; }
.thread-post-index { color: var(--suave); font-size: 10px; font-weight: 700; }
.x-thread-preview .thread-post-text { font-size: 15px; line-height: 1.55; }
.x-thread-preview .thread-.x-thread-preview .thread-.x-thread-preview .thread-.x-threa400; line-height: 1.55; }
.x-thread-preview .thread-post-final .thread-post-text { font-weight: 400; }
.thread-post-footer { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-top: 15px; padding-top: 10px; border-top: 1px solid var(--borda); }
.thread-copy, .thread-copy-all { padding: 6px 8px; border: 1px solid var(--borda); background: transparent; color: var(--tinta); font: inherit; font-weight: 700; cursor: pointer; }
.thread-copy:hover, .thread-copy-all:hover { background: var(--tinta); color: var(--fundo); }
@media (max-width: 700px) {
  .thread-toolbar { align-items: flex-start; flex-direction: column; }
  .thread-copy-all { width: 100%; }
}

/* Thread-aware publication linking */
.area-publicacao-thread { align-items: flex-start; flex-wrap: wrap; }
.pub-thread-intro { display: grid; gap: 4px; flex: 1 1 100%; }
.pub-thread-intro strong { font-size: 13px; }
.pub-thread-intro span { color: var(--suave); font-size: 12px; line-height: 1.45; }
.area-publicacao-thread textarea { width: 100%; min-height: 92px; resize: vertical; line-height: 1.45; }
.pub-status { display: flex; align-items: center; flex-wrap: wrap; gap: 8px; }
.tipo-publicacao { padding: 3px 7px; border: 1px solid var(--borda); color: var(--tinta); font-size: 10px; font-weight: 700; letter-spacing: .04em; text-transform: uppercase; }
@media (max-width: 700px) {
  .area-publicacao-thread .botao { width: 100%; }
}

/* pauta com motivo (por que esse conteúdo) */
.chip .chip-motivo { margin-left: 7px; font-size: 10.5px; font-weight: 600; text-transform: uppercase; letter-spacing: .03em; color: var(--indigo); }
.chip .chip-motivo:empty { display: none; }
/* referência analisada na biblioteca do garimpo */
.item-bib .analise-bib { font-size: 12px; color: var(--suave); line-height: 1.45; margin: 6px 0 8px; }
.item-bib .analise-bib:empty { display: none; }
.item-bib .analise-bib b { color: var(--texto); font-weight: 600; }
/* 3 ações: molde ocupa a linha inteira, as duas novas dividem a de baixo */
.item-bib .acoes-bib { flex-wrap: wrap; gap: 6px; }
.item-bib .acoes-bib .btn-molde { flex: 1 1 100%; min-width: 0; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; text-align: center; }
.item-bib .acoes-bib .btn-molde.claro { flex: 1 1 calc(50% - 3px); }
.btn-molde.claro { background: #fff; color: var(--tinta); border: 1px solid #000; }

/* gerador: pauta = texto em cima, selo do motivo embaixo */
#pautas-chips .chip { flex-direction: column; align-items: flex-start; gap: 5px; }
#pautas-chips .chip .chip-texto { display: block; }
#pautas-chips .chip .chip-motivo { margin-left: 0; white-space: nowrap; color: var(--acento); }
/* gerador: alvo em grade 2×2, sem chip órfão; campos alinhados pela base */
#alvo-conteudo .chips { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); }
#alvo-conteudo .chip { width: 100%; justify-content: center; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
#alvo-conteudo #alvo-desc { margin-top: 14px; color: #222; }
#alvo-conteudo + .grade { margin-top: 8px; }
.ger-campos .grade.c2 { align-items: end; column-gap: 16px; }
.ger-campos .grade.c2 label { min-height: 0; }
@media (max-width: 600px) { #alvo-conteudo .chips { grid-template-columns: 1fr; } }

/* gerador: refresh das ideias */
#pautas-chips > span { display: flex; align-items: center; justify-content: space-between; gap: 8px; }

/* gerador: sem aside; coluna única */
.gerador-layout { grid-template-columns: minmax(0, 1fr); }
.gerador-primary { border-right: 0; max-width: 980px; }
#alvo-conteudo .chips { gap: 0; }
#alvo-conteudo .chip { margin: 0 -1px -1px 0; }

/* biblioteca: coluna do grid limitada ao card (min-width:auto do grid estourava o texto) */
.item-bib { grid-template-columns: minmax(0, 1fr); overflow: hidden; }
.item-bib > * { min-width: 0; }
.item-bib .hook-bib, .item-bib .canal-bib { overflow-wrap: anywhere; }
.item-bib .acoes-bib { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 6px; }
.item-bib .acoes-bib .btn-molde { width: 100%; }
.item-bib .acoes-bib .btn-molde[data-idx] { grid-column: 1 / -1; }

/* garimpo: palco quadrado, sem sombra (sistema brutalista) */
.palco-deck { border-radius: 0; box-shadow: none; }

/* beats com tempo, abordagens e proposta de refino por seção */
.beat-tempo { margin-left: 8px; font-size: 9px; font-weight: 700; letter-spacing: .08em; color: #8a8a8a; }
.abordagem-roteiro { margin: 0 0 12px; padding: 10px 12px; border: 1px solid #000; font-size: 12px; color: #444; }
.abordagem-roteiro b { color: #000; }
.variantes-tabs { display: flex; align-items: center; flex-wrap: wrap; gap: 0; margin: 0 0 14px; }
.variantes-tabs .variantes-rotulo { margin-right: 10px; font-size: 9px; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; color: #6f6f6f; }
.variantes-tabs .chip { margin: 0 -1px -1px 0; }
.proposta-secao { margin-top: 12px; padding: 12px; border: 1px solid #000; background: #f5f5f3; }
.proposta-secao .proposta-cab { display: flex; justify-content: space-between; align-items: center; }
.proposta-secao .rotulo { font-size: 9px; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; }
.proposta-secao .bloco-roteiro { background: #fff; }
#pautas-chips .chip.pronta { border-color: var(--acento); }
#pautas-chips .chip.pronta .chip-motivo { color: var(--acento); }

/* dashboard: sugestões pré-geradas, hook em destaque */
.sugestao { padding: 14px 0; border-bottom: 1px solid #000; }
.sugestao:last-child { border-bottom: 0; }
.sugestao-hook { margin: 0; font-size: 15px; font-weight: 650; letter-spacing: -.02em; line-height: 1.35; color: #000; }
.sugestao-meta { margin: 6px 0 10px; font-size: 11.5px; color: #757575; }
.sugestao-acoes { display: flex; gap: 6px; flex-wrap: wrap; }

/* geração parcial: melhor abordagem já na tela enquanto refina */
.selo-refinando { display: inline-flex; align-items: center; gap: 8px; margin-top: 6px; font-size: 11px; font-weight: 600; letter-spacing: .04em; text-transform: uppercase; color: var(--acento); }
.selo-refinando .carregando { width: 12px; height: 12px; border-width: 2px; }

/* ---------- inspirações: resumo no perfil + modal de curadoria ---------- */
.insp-resumo { display: flex; align-items: center; gap: 12px; flex-wrap: wrap; margin: 4px 0 10px; }
.insp-avatares { display: flex; align-items: center; }
.insp-avatar { width: 34px; height: 34px; border-radius: 50%; border: 1px solid #000; background: #f5f5f3; display: inline-flex; align-items: center; justify-content: center; overflow: hidden; font-size: 12px; font-weight: 700; flex: none; }
.insp-avatar img { width: 100%; height: 100%; object-fit: cover; }
.insp-avatares .insp-avatar { margin-right: -8px; box-shadow: 0 0 0 2px #fff; }
.modal-fundo { position: fixed; inset: 0; z-index: 60; background: rgba(0,0,0,.55); display: flex; align-items: center; justify-content: center; padding: 20px; }
.modal { width: min(560px, 100%); max-height: calc(100vh - 40px); display: flex; flex-direction: column; background: #fff; border: 1px solid #000; }
.modal-cab { display: flex; justify-content: space-between; align-items: start; gap: 12px; padding: 20px 22px 16px; border-bottom: 1px solid #000; }
.modal-cab h2 { margin: 6px 0 4px; font-size: 20px; letter-spacing: -.04em; }
.modal-fechar { width: 34px; height: 34px; border: 1px solid #000; background: #fff; cursor: pointer; font-size: 14px; flex: none; }
.modal-fechar:hover { background: #000; color: #fff; }
.modal-corpo { overflow: auto; padding: 0 22px; }
.modal-secao { padding: 16px 0; border-bottom: 1px solid #e6e6e6; }
.modal-secao:last-child { border-bottom: 0; }
.modal-rotulo { display: flex; justify-content: space-between; align-items: baseline; margin-bottom: 8px; font-size: 9px; font-weight: 700; letter-spacing: .13em; text-transform: uppercase; color: #6f6f6f; }
.modal-rotulo .ajuda { text-transform: none; letter-spacing: 0; font-weight: 400; font-size: 11px; }
.modal-rodape { display: flex; justify-content: space-between; align-items: center; gap: 12px; padding: 14px 22px; border-top: 1px solid #000; background: #f5f5f3; }
.insp-form { display: flex; gap: 8px; }
.insp-form input { flex: 1; min-width: 0; }
.insp-lista { display: flex; flex-direction: column; }
.insp-item { display: flex; align-items: center; gap: 12px; padding: 10px 0; border-bottom: 1px solid #eee; }
.insp-item:last-child { border-bottom: 0; }
.insp-item .insp-avatar { width: 40px; height: 40px; }
.insp-item .cresce { flex: 1; min-width: 0; display: flex; flex-direction: column; gap: 3px; }
.insp-handle { font-size: 13.5px; font-weight: 650; letter-spacing: -.01em; display: flex; align-items: center; gap: 6px; }
.insp-plat { font-size: 9px; font-weight: 700; letter-spacing: .08em; padding: 1px 5px; border: 1px solid #000; }
.insp-sub { font-size: 11.5px; color: #757575; line-height: 1.35; overflow: hidden; text-overflow: ellipsis; }
.insp-rel { display: block; height: 3px; background: #e6e6e6; margin-top: 3px; }
.insp-rel i { display: block; height: 100%; background: var(--acento); }
@media (max-width: 600px) { .modal-fundo { padding: 0; align-items: stretch; } .modal { max-height: 100vh; width: 100%; border: 0; } }
.insp-item > .botao { flex: none; white-space: nowrap; margin-left: auto; min-width: 118px; justify-content: center; }

/* dashboard: sem conteúdo na coluna principal, a secundária ocupa tudo */
.dashboard-grid.so-secundaria { grid-template-columns: minmax(0, 1fr); }
.dashboard-grid.so-secundaria .dashboard-primary { display: none; }
.dashboard-grid.so-secundaria .dashboard-secondary { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); }
.dashboard-grid.so-secundaria .dashboard-panel { border-right: 1px solid #000; }
.dashboard-grid.so-secundaria .dashboard-panel:last-child { border-right: 0; }
@media (max-width: 760px) { .dashboard-grid.so-secundaria .dashboard-secondary { grid-template-columns: 1fr; } .dashboard-grid.so-secundaria .dashboard-panel { border-right: 0; } }

/* memória e sugestões: o texto é o conteúdo, nunca corta */
#memoria-card .lista-linha .titulo, #memoria-card .lista-linha .meta,
#perfil-card .lista-linha .titulo, #perfil-card .lista-linha .meta,
#passos .lista-linha .titulo { white-space: normal; overflow: visible; text-overflow: clip; line-height: 1.4; }
#memoria-card .lista-linha { align-items: flex-start; gap: 10px; }
#memoria-card .lista-linha .botao { flex: none; margin-top: 2px; }

/* ---------- ideias & feedback ---------- */
.fb-topo { display: flex; gap: 8px; align-items: center; margin: 4px 0 12px; }
.fb-item { display: flex; gap: 14px; padding: 16px 0; border-bottom: 1px solid var(--borda); }
.fb-item:last-child { border-bottom: none; }
.fb-voto { flex-shrink: 0; width: 52px; height: 56px; border-radius: var(--raio); border: 1px solid var(--borda-forte); background: var(--superficie);
  display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 2px; cursor: pointer; font: inherit; color: var(--tinta); }
.fb-voto svg { width: 14px; height: 14px; stroke: var(--suave); fill: none; stroke-width: 2.2; }
.fb-voto b { font-size: 15px; font-weight: 650; font-variant-numeric: tabular-nums; }
.fb-voto:hover { border-color: var(--tinta); }
.fb-voto.votei { background: var(--tinta); color: #fff; border-color: var(--tinta); }
.fb-voto.votei svg { stroke: #fff; }
.fb-corpo { flex: 1; min-width: 0; }
.fb-tags { display: flex; gap: 6px; align-items: center; flex-wrap: wrap; margin-bottom: 5px; }
.fb-titulo { font-size: 15px; font-weight: 600; color: var(--tinta); letter-spacing: -0.01em; cursor: pointer; }
.fb-titulo:hover { text-decoration: underline; }
.fb-texto { font-size: 13.5px; color: var(--texto); line-height: 1.55; margin-top: 4px; white-space: pre-wrap; overflow-wrap: anywhere; }
.fb-meta { font-size: 12px; color: var(--suave); margin-top: 8px; display: flex; gap: 6px; align-items: center; flex-wrap: wrap; }
.fb-meta button { background: none; border: 0; color: var(--suave); font: inherit; font-size: 12px; cursor: pointer; padding: 0; text-decoration: underline; text-underline-offset: 2px; }
.fb-meta select { width: auto; padding: 2px 6px; font-size: 12px; height: 24px; margin: 0; }
.fb-comentarios { margin-top: 12px; padding: 12px 14px; background: var(--fundo); border: 1px solid var(--borda); border-radius: var(--raio); }
.fb-com { font-size: 13px; line-height: 1.5; padding: 6px 0; border-bottom: 1px solid var(--borda); white-space: pre-wrap; overflow-wrap: anywhere; }
.fb-com:last-of-type { border-bottom: none; }
.fb-com b { font-weight: 600; }
.fb-com .equipe { font-size: 10px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; color: var(--acento); margin-left: 6px; }
.fb-com small { color: var(--suave); margin-left: 6px; }
.fb-comentarios form { display: flex; gap: 8px; align-items: flex-end; margin-top: 8px; }
.fb-comentarios textarea { min-height: 40px; margin: 0; flex: 1; }
.etiqueta.avaliando::before { background: var(--apagado); }
.etiqueta.fila::before { background: var(--ambar); }
.etiqueta.proximo::before { background: var(--indigo); }
.etiqueta.feito::before { background: var(--verde); }
.etiqueta.bug::before { background: var(--vermelho); }
.etiqueta.ideia::before { background: var(--acento); }
@media (max-width: 600px) { .fb-voto { width: 46px; height: 50px; } }

/* barra lateral compacta: 10 itens + 6 grupos cabem em 100vh sem rolar */
.atalho-novo { margin: 12px 15px 10px; min-height: 36px; }
.nav-grupos { gap: 4px; }
.nav-grupo-titulo { padding: 6px 19px 2px; }
.lateral nav a { height: 32px; font-size: 12px; border-bottom: 0; }
.lateral nav a svg { width: 14px; height: 14px; }
.lateral .rodape { padding: 10px 15px 12px; }

/* grupo Conta: separado do resto, colado no rodapé */
.lateral nav.nav-grupos { display: flex; flex-direction: column; flex: 1; min-height: 0; }
.nav-grupo--conta { margin-top: auto; padding-top: 10px; border-top: 1px solid var(--borda); }

/* ---------- paywall / planos ---------- */
.paywall { border-color: var(--tinta); }
.paywall-planos { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; margin-top: 14px; }
.paywall-planos .botao { height: auto; padding: 12px 14px; display: flex; flex-direction: column; align-items: flex-start; gap: 2px; text-align: left; }
.paywall-planos .botao b { font-size: 14px; font-weight: 650; }
.paywall-planos .botao small { font-size: 11.5px; opacity: .75; font-weight: 500; text-transform: none; letter-spacing: 0; }
@media (max-width: 600px) { .paywall-planos { grid-template-columns: 1fr; } }

/* ---------- carrosséis ---------- */
.car-fases { list-style: none; margin: 12px 0 0; padding: 0; display: grid; gap: 8px; }
.car-fases li { display: flex; align-items: center; gap: 10px; font-size: 13.5px; color: var(--apagado); }
.car-fases li em { margin-left: auto; font-style: normal; font-size: 12px; color: var(--suave); }
.car-fases .bolinha { width: 14px; height: 14px; border-radius: 50%; border: 2px solid var(--borda-forte); flex-shrink: 0; }
.car-fases li.atual { color: var(--tinta); font-weight: 600; }
.car-fases li.atual .bolinha { border-color: var(--acento); animation: carPulsa 1.2s ease-in-out infinite; }
.car-fases li.feita { color: var(--texto); }
.car-fases li.feita .bolinha { background: var(--acento); border-color: var(--acento); }
@keyframes carPulsa { 50% { box-shadow: 0 0 0 5px rgba(224,118,58,.18); } }
.car-thumbs { display: flex; gap: 8px; margin-top: 16px; overflow-x: auto; }
.car-thumbs .car-thumb { width: 88px; aspect-ratio: 4/5; flex-shrink: 0; border: 1px solid var(--borda); background: var(--fundo); position: relative; overflow: hidden; font-size: 9px; line-height: 1.25; color: var(--suave); padding: 6px; }
.car-thumbs .car-thumb img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.car-thumbs .car-thumb span { position: relative; }
.car-palco { display: grid; grid-template-columns: minmax(0, 1fr) 320px; gap: 18px; margin-top: 16px; align-items: start; }
.car-preview { border: 1px solid var(--borda-forte); background: var(--fundo); }
.car-preview canvas { display: block; width: 100%; height: auto; }
.car-lado label { margin-top: 12px; }
.car-nav { display: flex; align-items: center; justify-content: space-between; gap: 8px; font-size: 12.5px; color: var(--suave); }
.car-slot { margin-top: 8px; }
.car-slot textarea { min-height: 0; margin: 0; }
.car-slot input { margin-top: 6px; font-size: 12.5px; }
.car-tira { display: flex; gap: 8px; margin-top: 14px; overflow-x: auto; padding-bottom: 4px; }
.car-tira .car-thumb { width: 84px; flex-shrink: 0; padding: 0; border: 2px solid var(--borda); background: none; cursor: pointer; }
.car-tira .car-thumb.ativa { border-color: var(--tinta); }
.car-tira canvas { display: block; width: 100%; height: auto; }
.car-capa { width: 40px; height: 50px; object-fit: cover; border: 1px solid var(--borda); flex-shrink: 0; margin-right: 12px; display: block; }
.car-capa.vazia { background: var(--fundo); }
@media (max-width: 900px) { .car-palco { grid-template-columns: 1fr; } }

/* ---------- carrosséis v2: layout, templates, brand kit, fotos, chat ---------- */
.car-grid { display: grid; grid-template-columns: minmax(0, 1fr) 300px; gap: 14px; align-items: start; }
.car-aside { position: sticky; top: 14px; }
.car-opcoes { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; margin-top: 4px; }
.car-opcoes label { margin-top: 10px; }
.car-anexos { margin-top: 14px; border: 1px solid var(--borda); padding: 10px 14px; }
.car-anexos summary { cursor: pointer; font-size: 13px; font-weight: 600; display: flex; align-items: center; gap: 8px; }
.car-fonte { position: relative; margin-top: 10px; padding: 10px 44px 10px 12px; border: 1px solid var(--borda); background: var(--fundo); font-size: 12.5px; }
.car-fonte b { display: block; font-size: 13px; } .car-fonte small { color: var(--suave); display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.car-fonte ul { margin: 6px 0 0; padding-left: 18px; color: var(--texto); } .car-fonte li { margin: 2px 0; }
.car-fonte > button { position: absolute; top: 8px; right: 8px; }
.car-check { display: flex; align-items: center; gap: 8px; margin-top: 12px; font-size: 13px; font-weight: 500; }
.car-check input { width: auto; margin: 0; }
.car-ideias { display: grid; gap: 8px; }
.car-ideia { text-align: left; border: 1px solid var(--borda); background: var(--fundo); padding: 10px 12px; font: inherit; font-size: 13.5px; cursor: pointer; color: var(--tinta); }
.car-ideia:hover { border-color: var(--tinta); }
.car-ideia .funil { display: block; font-size: 10px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: var(--acento); margin-bottom: 2px; }
.car-templates { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; margin-top: 10px; }
.car-tpl { border: 2px solid var(--borda); background: none; padding: 0 0 8px; cursor: pointer; font: inherit; text-align: left; color: var(--tinta); }
.car-tpl.ativo { border-color: var(--tinta); }
.car-tpl-prev { display: grid; place-items: center; aspect-ratio: 4/5; position: relative; overflow: hidden; }
.car-tpl-prev b { font-size: 34px; font-weight: 700; position: relative; }
.car-tpl-prev i { position: absolute; }
.car-tpl-prev .ilu { width: 46%; height: 34%; left: 27%; bottom: 10%; border-radius: 40% 40% 12% 12%; opacity: .85; }
.car-tpl-prev .foto { inset: 0; background: linear-gradient(160deg, rgba(255,255,255,.18), rgba(0,0,0,.35)); }
.car-tpl-prev .card { left: 12%; right: 12%; top: 22%; bottom: 22%; background: #fff; border: 1px solid rgba(0,0,0,.12); border-radius: 8px; }
.car-tpl-nome { display: block; font-size: 12.5px; font-weight: 600; padding: 8px 8px 0; }
.car-tpl-sub { display: block; font-size: 11px; color: var(--suave); padding: 2px 8px 0; line-height: 1.3; }
.car-cores { display: flex; gap: 10px; margin-top: 10px; }
.car-cores label { display: flex; flex-direction: column; align-items: center; gap: 4px; font-size: 11px; color: var(--suave); margin: 0; }
.car-cores input[type=color] { width: 44px; height: 32px; padding: 0; border: 1px solid var(--borda-forte); margin: 0; cursor: pointer; }
.car-banco { display: grid; grid-template-columns: repeat(4, 1fr); gap: 6px; margin-top: 10px; }
.car-banco.mini { grid-template-columns: repeat(5, 1fr); margin-top: 6px; }
.car-foto { position: relative; aspect-ratio: 1; overflow: hidden; border: 2px solid var(--borda); background: var(--fundo); display: grid; place-items: center; padding: 0; cursor: pointer; font: inherit; }
.car-foto img { width: 100%; height: 100%; object-fit: cover; display: block; }
.car-foto.add { font-size: 22px; color: var(--suave); cursor: pointer; }
.car-foto.sel { border-color: var(--tinta); }
.car-foto .ia { font-size: 11px; font-weight: 700; color: var(--suave); }
.car-foto button { position: absolute; top: 2px; right: 2px; width: 20px; height: 20px; border: 0; background: rgba(0,0,0,.6); color: #fff; font-size: 11px; cursor: pointer; }
.car-slide-acoes { display: flex; gap: 6px; flex-wrap: wrap; margin-top: 10px; }
.car-chat { margin-top: 14px; border: 1px solid var(--borda); padding: 12px 14px; background: var(--fundo); }
.car-chat-titulo b { display: block; font-size: 13.5px; } .car-chat-titulo .ajuda { display: block; margin-top: 2px; }
.car-chat-msgs { max-height: 220px; overflow-y: auto; margin: 10px 0; display: grid; gap: 6px; }
.car-msg { font-size: 13px; line-height: 1.45; padding: 8px 10px; max-width: 90%; white-space: pre-wrap; }
.car-msg.user { background: var(--tinta); color: #fff; justify-self: end; }
.car-msg.assistant { background: var(--superficie); border: 1px solid var(--borda); }
.car-chat form input { margin: 0; }
.car-dev { margin-top: 14px; font-size: 12px; } .car-dev summary { cursor: pointer; font-weight: 600; }
.car-dev details { margin-top: 6px; } .car-dev pre { white-space: pre-wrap; font-size: 11px; background: var(--fundo); padding: 8px; max-height: 260px; overflow: auto; }
@media (max-width: 1100px) { .car-grid { grid-template-columns: 1fr; } .car-aside { position: static; } .car-templates { grid-template-columns: repeat(4, minmax(0, 1fr)); } }
@media (max-width: 700px) { .car-opcoes { grid-template-columns: 1fr; } .car-templates { grid-template-columns: repeat(2, minmax(0, 1fr)); } }

/* templates com preview real + modal */
.car-tpl-prev img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.car-tpl-zoom { position: absolute; top: 6px; right: 6px; width: 24px; height: 24px; display: grid; place-items: center; background: rgba(0,0,0,.55); color: #fff; font-size: 13px; border-radius: 4px; }
.car-modal { position: fixed; inset: 0; z-index: 100; background: rgba(28,25,23,.55); display: grid; place-items: center; padding: 20px; }
.car-modal-caixa { background: var(--superficie); border: 1px solid var(--borda-forte); width: min(760px, 100%); max-height: 92vh; overflow: auto; padding: 20px 22px; }
.car-modal-slides { display: grid; grid-template-columns: repeat(3, 1fr); gap: 10px; margin-top: 14px; }
.car-modal-slides img { width: 100%; aspect-ratio: 4/5; object-fit: cover; border: 1px solid var(--borda); display: block; }
@media (max-width: 600px) { .car-modal-slides { grid-template-columns: 1fr; } }

.car-fontes { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; margin-top: 8px; }
.car-fontes label { margin-top: 0; font-size: 11.5px; }
.car-fontes select { margin: 4px 0 0; }

/* brand kit: seções com respiro */
.kit-secao { margin-top: 16px; }
.kit-rotulo { display: block; font-size: 10.5px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: var(--suave); margin-bottom: 8px; }
.kit-secao .car-cores { margin-top: 0; }
.kit-secao .car-fontes { margin-top: 0; }
.kit-importar { border-top: 1px solid var(--borda); padding-top: 14px; }
.kit-importar .linha-campo input { margin: 0; }

/* ---------- Jev: mecânica dos virais, gosto, laboratório de hook, voz ---------- */
.carta-viral .mecanica-viral { font-size: 10.5px; letter-spacing: .04em; text-transform: uppercase; color: #d6d3d1; text-align: center; padding: 6px 4px 0; text-shadow: 0 1px 4px rgba(0,0,0,.8); }
.item-bib .mecanica-bib { font-size: 10.5px; letter-spacing: .04em; text-transform: uppercase; color: var(--suave); }
.gosto-garimpo { padding: 14px 22px; border-bottom: 1px solid var(--borda); display: flex; flex-direction: column; gap: 8px; }
.gosto-rotulo { font-size: 10px; text-transform: uppercase; letter-spacing: .08em; font-weight: 700; }
.gosto-linhas { display: flex; gap: 18px; flex-wrap: wrap; }
.gosto-linhas > div { display: flex; gap: 12px; flex-wrap: wrap; }
.gosto-item { display: inline-flex; align-items: center; gap: 6px; font-size: 12px; }
.gosto-item i { display: inline-block; height: 5px; max-width: 80px; min-width: 6px; background: var(--acento); border-radius: 3px; }
.gosto-item small { color: var(--suave); }
.lab-hook input { width: 100%; margin-top: 8px; }
.lab-hook-barras { display: grid; grid-template-columns: repeat(5, 1fr); gap: 8px; margin-top: 8px; }
.lab-barra { display: flex; flex-direction: column; gap: 3px; }
.lab-barra small { font-size: 10px; text-transform: uppercase; letter-spacing: .06em; color: var(--suave); }
.lab-barra i { display: block; height: 5px; background: var(--acento); border-radius: 3px; min-width: 3px; }
.lab-barra { background: linear-gradient(transparent 0 calc(100% - 5px), #e6e6e6 0); }
.contexto-selo.alerta { color: #b45309; }
.contexto-selo.alerta::before { background: #f59e0b; }

/* ---------- Raio-X do nicho (estética de painel: mono, bordas pretas, contadores) ---------- */
.raiox-page { --mono: ui-monospace, "SF Mono", Menlo, Consolas, monospace; }
.rx-form { display: flex; gap: 8px; margin-bottom: 14px; }
.rx-form input { flex: 1; min-width: 0; height: 44px; font-size: 15px; }
.rx-contadores { display: grid; grid-template-columns: repeat(6, 1fr); gap: 8px; margin-bottom: 12px; }
.rx-cont { border: 1px solid #000; background: var(--superficie); padding: 8px 12px 10px; display: flex; flex-direction: column; gap: 2px; min-width: 0; }
.rx-cont.escuro { background: #000; color: #fff; }
.rx-cont small { font: 600 9px/1 var(--mono); letter-spacing: .12em; text-transform: uppercase; opacity: .6; }
.rx-cont b { font: 600 24px/1.1 var(--mono); font-variant-numeric: tabular-nums; letter-spacing: -.02em; white-space: nowrap; overflow: hidden; }
.rx-cont b i { font-style: normal; font-size: 12px; opacity: .55; margin-left: 2px; }
.rx-grade { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 10px; align-items: start; }
.rx-direita { display: flex; flex-direction: column; gap: 10px; min-width: 0; }
.rx-painel { border: 1px solid #000; background: var(--superficie); min-width: 0; }
.rx-cab { display: flex; justify-content: space-between; padding: 6px 10px; border-bottom: 1px solid #000; font: 600 9.5px/1 var(--mono); letter-spacing: .12em; text-transform: uppercase; }
.rx-cab span:last-child { opacity: .6; }
.rx-mosaico { display: grid; grid-template-columns: repeat(auto-fill, minmax(52px, 1fr)); gap: 3px; padding: 8px; min-height: 420px; align-content: start; }
.rx-tile { aspect-ratio: 4 / 5; border: 1.5px solid transparent; padding: 0; background: #e7e5e4; overflow: hidden; cursor: pointer; animation: rx-pop .35s cubic-bezier(.2,.9,.3,1.2); font: inherit; }
.rx-tile img { width: 100%; height: 100%; object-fit: cover; display: block; }
.rx-tile span { display: block; font-size: 7px; line-height: 1.25; padding: 4px; color: #57534e; text-align: left; overflow: hidden; }
.rx-tile.duvida { border-color: #dc2626; }
.rx-tile.vivo { outline: 1.5px solid var(--acento); outline-offset: -1.5px; }
.rx-tile:hover { filter: brightness(1.08); }
@keyframes rx-pop { from { transform: scale(.4); opacity: 0; } to { transform: none; opacity: 1; } }
.rx-teardown { display: grid; grid-template-columns: 150px 1fr; gap: 12px; padding: 10px; min-height: 260px; }
.rx-teardown .vazio { grid-column: 1 / -1; padding: 30px 10px; }
.rx-td-esq { display: flex; flex-direction: column; gap: 6px; font-size: 12px; min-width: 0; }
.rx-td-thumb { aspect-ratio: 4 / 5; background: #f5f5f4; border: 1px solid #000; overflow: hidden; display: grid; place-items: center; }
.rx-td-thumb img { width: 100%; height: 100%; object-fit: cover; }
.rx-td-thumb span { font-size: 11px; line-height: 1.35; padding: 8px; color: #57534e; }
.rx-td-esq b { font-size: 14px; }
.rx-td-esq small { font: 10px/1.5 var(--mono); color: var(--suave); }
.rx-td-esq p { font-size: 11.5px; line-height: 1.4; color: #44403c; margin: 0; display: -webkit-box; -webkit-line-clamp: 4; -webkit-box-orient: vertical; overflow: hidden; }
.rx-td-linhas { display: flex; flex-direction: column; gap: 5px; min-width: 0; }
.rx-linha { display: grid; grid-template-columns: 78px 1fr 34px; gap: 8px; align-items: center; }
.rx-linha small { font: 600 9px/1 var(--mono); letter-spacing: .1em; text-transform: uppercase; color: var(--suave); }
.rx-linha span { display: flex; flex-direction: column; gap: 2px; min-width: 0; }
.rx-linha span b { font: 600 12px/1.2 var(--mono); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.rx-linha span i { display: block; height: 4px; background: #000; transition: width .5s cubic-bezier(.2,.8,.2,1); }
.rx-linha.fraca span i { background: repeating-linear-gradient(90deg, #dc2626 0 3px, transparent 3px 5px); }
.rx-linha em { font: 10px/1 var(--mono); font-style: normal; color: var(--suave); text-align: right; }
.rx-linha.fraca em { color: #dc2626; }
.rx-agg { display: grid; grid-template-columns: repeat(2, 1fr); gap: 12px 18px; padding: 10px; }
.rx-agg-col { display: flex; flex-direction: column; gap: 4px; min-width: 0; }
.rx-agg-col > small { font: 600 9px/1 var(--mono); letter-spacing: .1em; text-transform: uppercase; color: var(--suave); margin-bottom: 2px; }
.rx-agg-linha { display: grid; grid-template-columns: 1fr 30px; grid-template-rows: auto auto; column-gap: 6px; font: 11px/1.3 var(--mono); }
.rx-agg-linha span { grid-column: 1; grid-row: 1; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.rx-agg-linha i { grid-column: 1; grid-row: 2; display: block; height: 4px; transition: width .5s ease; }
.rx-agg-linha em { grid-column: 2; grid-row: 1 / 3; font-style: normal; color: var(--suave); text-align: right; align-self: center; }
.rx-copiar { display: grid; grid-template-columns: repeat(auto-fill, minmax(120px, 1fr)); gap: 6px; padding: 10px; }
.rx-copiar .vazio { grid-column: 1 / -1; padding: 12px 0; }
.rx-card { border: 1px solid #f59e0b; background: #fffbeb; padding: 8px 9px; display: flex; flex-direction: column; gap: 3px; text-decoration: none; color: inherit; min-width: 0; }
.rx-card:hover { background: #fef3c7; }
.rx-card b { font-size: 12px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.rx-card small { font: 9px/1.3 var(--mono); color: #92400e; text-transform: uppercase; letter-spacing: .06em; }
.rx-card span { font: 600 18px/1 var(--mono); }
.rx-card em { font: 8.5px/1 var(--mono); font-style: normal; color: #b45309; letter-spacing: .08em; text-transform: uppercase; }
.rx-final { margin-top: 14px; border: 1px solid #000; background: var(--superficie); padding: 18px 20px 20px; animation: rx-pop .5s ease; }
.rx-final-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 8px; margin-bottom: 18px; }
.rx-final-grid > div { border: 1px solid #000; padding: 10px 12px; display: flex; flex-direction: column; gap: 4px; min-width: 0; }
.rx-final-grid small { font: 600 9px/1 var(--mono); letter-spacing: .12em; text-transform: uppercase; color: var(--suave); }
.rx-final-grid b { font-size: 22px; letter-spacing: -.03em; line-height: 1.1; }
.rx-final-grid em { font: 10px/1 var(--mono); font-style: normal; color: var(--suave); }
.rx-final h2 { font-size: 28px; letter-spacing: -.045em; line-height: 1.1; }
.rx-final h2 .suave, .rx-final p.suave { color: var(--suave); }
.rx-final p { margin-top: 6px; font: 13px/1.4 var(--mono); }
@media (max-width: 900px) {
  .rx-contadores { grid-template-columns: repeat(3, 1fr); }
  .rx-grade { grid-template-columns: 1fr; }
  .rx-mosaico { min-height: 160px; grid-template-columns: repeat(auto-fill, minmax(44px, 1fr)); }
  .rx-final-grid { grid-template-columns: repeat(2, 1fr); }
  .rx-teardown { grid-template-columns: 110px 1fr; }
  .rx-linha { grid-template-columns: 64px 1fr 30px; }
}
