/* =====================================================================================================
   Eternisom · Painel de mineração — tema v2 (verde-escuro + creme, herdado do relatório HTML original)
   Sem modo escuro. Fonte system-ui. Celular: menu em gaveta, 1 coluna, 16px de margem.
   -----------------------------------------------------------------------------------------------------
   CLASSES PRONTAS (use nas telas novas; não crie variações sem necessidade)
   Página      .cab-pagina > .eyebrow + h1 + .lead      .voltar (link "← Voltar")      .secao > .secao-cab (h2 + link)
               .heroi (faixa verde com .eyebrow, h1, .heroi-texto, .heroi-meta, .estatisticas > a.estat > b + span, .heroi-acoes)
   Layout      .pilha (grade, gap 12) · .pilha-p (gap 6) · .linha (flex com quebra) · .linha-entre (espaço entre) · .centro
               .grade-2 · .grade-3 (viram 1 coluna no celular) · .mural (cartões em colunas automáticas)
   Cartões     .cartao (branco, borda, raio 16) · .cartao-ideia (para o mural: .ci-topo, .ci-titulo, .ci-texto, .ci-miniaturas, .ci-rodape)
               .mini-video (miniatura + texto) · .lista-linhas > li > a (.lista-titulo + .lista-meta)
   Botões      .btn · .btn.primario · .btn.escuro · .btn.ouro · .btn.contorno-claro (sobre fundo verde) · .btn.perigo
               .btn.fantasma · .btn.pequeno · .btn.grande · .btn-link (texto sublinhado) · .btn-icone (quadrado só com ícone)
               .btn.destaque (pulso discreto para chamar atenção)
   Formulário  .form (grade) · label.campo > span + input/select/textarea · .campo-linha (campos lado a lado) · .ajuda
               label.checkbox · fieldset.sem-borda · .contador-caracteres
   Selos       .selo (+ .mini) cores: .prioridade .selecionado .mudo .contorno .alerta .concorrente .tipo-meus_anuncios .tipo-marcados
               decisões sólidas .aprovado .recusado .talvez · claras .aprovado-claro .talvez-claro .recusado-claro .pendente-claro
               ideias .st-nova .st-em_producao .st-feita .st-descartada · textos: .legenda (da legenda) .proposto (texto proposto)
               .ponto.aprovado/.talvez/.recusado/.pendente (bolinha de cor)
   Abas        .abas > button.aba[aria-selected=true] (opcional <em> com contagem) — use role="tablist"/"tab"
   Chips       .chips > label.chip (com input) ou button.chip[aria-pressed=true]
   Avisos      .aviso (faixa amarela) · .erro-caixa · .ok-caixa · .dica · .vazio (estado vazio com ícone) · .segredo (chave mostrada 1 vez)
   Envio       .zona-arrastar (+ .sobre ao arrastar) · .progresso > i (barra; .progresso.grande) · .grade-estat > .estat-claro
               .lista-arquivos > li (.la-nome, .la-tamanho, .la-estado)
   Modal       abrirModal() do nucleo.js cria dialog.modal (.modal-estreita/.modal-larga/.modal-cheia) > .modal-topo + .modal-corpo
               .modal-rodape (botões alinhados à direita, opcional) · .embed.vertical/.horizontal > iframe (player embutido)
   Tabelas     .tabela-envolta > table.tabela
   Texto       .mudo · .pequeno · .mono · .sr (só leitor de tela) · .texto-pre (preserva quebras) · .girando (indicador)
   ===================================================================================================== */

:root {
  --creme: #f5f3ec;
  --tinta: #182c2a;
  --verde-escuro: #163d34;
  --verde: #136a54;
  --mudo: #64726d;
  --linha: #d9dfd8;
  --amarelo: #e4b64c;
  --ouro: #f2d892;
  --aprovado: #18704c;
  --recusado: #a83e3e;
  --talvez: #8b651b;

  --branco: #ffffff;
  --nevoa: #eef3e9;
  --nevoa-2: #e8ede5;
  --verde-claro: #e5efdf;
  --verde-medio: #527466;
  --aprovado-claro: #e4f3e9;
  --aprovado-borda: #c0ddcb;
  --recusado-claro: #fae9e7;
  --recusado-borda: #e9c7c5;
  --talvez-claro: #fff4d9;
  --talvez-borda: #e8d9b7;
  --pendente-claro: #edf0eb;
  --aviso-fundo: #fff9e7;
  --erro: #a22b24;
  --roxo: #4a3f9b;
  --roxo-claro: #ebe8fb;

  --raio: 16px;
  --raio-m: 12px;
  --raio-p: 9px;
  --sombra: 0 1px 2px #163d340a, 0 6px 22px #163d340d;
  --sombra-forte: 0 10px 40px #0d1a1640;
  --menu-largura: 252px;
  --foco: 0 0 0 3px #f2d892, 0 0 0 5px #163d34;
  color-scheme: light;
}

* { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; }
html, body { margin: 0; }
body { background: var(--creme); color: var(--tinta); font: 15px/1.55 system-ui, -apple-system, "Segoe UI", Roboto, sans-serif; overflow-x: hidden; }
html.com-modal { overflow: hidden; }
a { color: var(--verde); text-underline-offset: 3px; }
a:hover { color: var(--verde-escuro); }
button, input, select, textarea { font: inherit; color: inherit; }
img, video, iframe { max-width: 100%; }
svg { flex-shrink: 0; }
h1 { font-size: clamp(26px, 3.2vw, 34px); line-height: 1.15; letter-spacing: -.6px; margin: 6px 0 8px; }
h2 { font-size: 20px; line-height: 1.25; margin: 0 0 12px; letter-spacing: -.2px; }
h3 { font-size: 17px; line-height: 1.3; margin: 0 0 6px; }
h4, h5 { margin: 0; }
:focus-visible { outline: none; box-shadow: var(--foco); border-radius: 6px; }
input:focus-visible, select:focus-visible, textarea:focus-visible { box-shadow: 0 0 0 3px #136a5440; border-color: var(--verde); }

/* Texto e utilitários */
.mudo { color: var(--mudo); }
.pequeno { font-size: 13px; }
.mono { font-family: ui-monospace, SFMono-Regular, Consolas, monospace; font-size: 13px; overflow-wrap: anywhere; }
.sr { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.texto-pre { white-space: pre-line; }
.erro { color: var(--erro); }
.pilha { display: grid; gap: 12px; }
.pilha-p { display: grid; gap: 6px; }
.linha { display: flex; flex-wrap: wrap; gap: 10px; align-items: center; }
.linha.centro, .centro { justify-content: center; }
.linha-entre { display: flex; justify-content: space-between; align-items: baseline; gap: 10px; flex-wrap: wrap; }
.grade-2 { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px; }
.grade-3 { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; }
.boot { padding: 60px 16px; text-align: center; color: var(--mudo); }
.girando { display: inline-block; width: 16px; height: 16px; border: 2px solid currentColor; border-right-color: transparent; border-radius: 50%; vertical-align: -3px; margin-right: 6px; animation: girar .8s linear infinite; }
@keyframes girar { to { transform: rotate(360deg); } }

/* =====================================================================================================
   Casca: menu lateral
   ===================================================================================================== */
.menu { position: fixed; inset: 0 auto 0 0; width: var(--menu-largura); background: var(--verde-escuro); color: #e9efe9; display: flex; flex-direction: column; z-index: 40; padding: 18px 12px 14px; overflow-y: auto; }
.menu-marca { display: flex; align-items: center; gap: 11px; padding: 4px 8px 20px; border-bottom: 1px solid #ffffff14; margin-bottom: 14px; }
.menu-marca b, .login-marca b { display: block; font-size: 17px; letter-spacing: .2px; color: #fff; }
.menu-marca small, .login-marca small { display: block; font-size: 11.5px; color: #b9cbc0; letter-spacing: .3px; }
.marca-simbolo { width: 36px; height: 36px; border-radius: 11px; background: linear-gradient(145deg, #1d7a61, #136a54); display: grid; place-items: center; color: var(--ouro); box-shadow: inset 0 0 0 1px #ffffff1f; flex-shrink: 0; }
.marca-simbolo svg { width: 17px; height: 17px; fill: currentColor; }
.menu .menu-fechar { display: none; margin-left: auto; color: #e9efe9; }
.menu-nav { display: grid; gap: 3px; }
.menu-item { display: flex; align-items: center; gap: 12px; width: 100%; padding: 10px 12px; border-radius: 10px; color: #dfe8e1; text-decoration: none; font-weight: 600; font-size: 15px; background: none; border: 0; cursor: pointer; text-align: left; position: relative; transition: background .15s; }
.menu-item svg { opacity: .85; }
.menu-item:hover { background: #ffffff0d; color: #fff; }
.menu-item[aria-current="page"] { background: #ffffff14; color: #fff; box-shadow: inset 3px 0 0 var(--ouro); }
.menu-item[aria-current="page"] svg { color: var(--ouro); opacity: 1; }
.menu-item.menor { font-size: 13.5px; padding: 8px 12px; font-weight: 550; color: #c6d5cb; }
.menu-item.menor svg { width: 18px; height: 18px; }
.menu-contador { margin-left: auto; font-style: normal; font-size: 11.5px; font-weight: 750; background: var(--ouro); color: var(--verde-escuro); border-radius: 99px; padding: 1px 8px; min-width: 22px; text-align: center; }
.menu-contador[hidden] { display: none; }
.menu-rodape { margin-top: auto; padding-top: 14px; border-top: 1px solid #ffffff14; display: grid; gap: 2px; }
.menu-quem { display: flex; align-items: center; gap: 10px; padding: 12px 10px 2px; font-size: 13px; }
.menu-quem b { display: block; color: #fff; font-weight: 650; }
.menu-quem small { color: #b9cbc0; }
.avatar { width: 32px; height: 32px; border-radius: 50%; display: grid; place-items: center; background: var(--ouro); color: var(--verde-escuro); font-weight: 800; font-size: 14px; flex-shrink: 0; }
.menu-veu { position: fixed; inset: 0; background: #0d1a1680; z-index: 39; }
.menu-veu[hidden] { display: none; }

.conteudo { margin-left: var(--menu-largura); min-height: 100vh; min-width: 0; }
.barra-topo { display: none; }
.faixa-aviso { background: var(--aviso-fundo); border-bottom: 1px solid #f0dfaa; color: #6b5413; font-size: 13px; padding: 8px 32px; }
.pagina { max-width: 1240px; margin: 0 auto; padding: 30px 32px 90px; outline: none; }

/* =====================================================================================================
   Login
   ===================================================================================================== */
.login { min-height: 100vh; display: grid; place-items: center; padding: 16px; background: radial-gradient(1200px 600px at 20% -10%, #1f5446 0%, var(--verde-escuro) 55%, #10302a 100%); }
.login-cartao { width: min(420px, 100%); background: var(--branco); border-radius: 20px; padding: 30px 28px; box-shadow: var(--sombra-forte); }
.login-cartao h1 { margin: 6px 0 0; font-size: 28px; }
.login-marca { display: flex; align-items: center; gap: 12px; }
.login-marca b { color: var(--tinta); }
.login-marca small { color: var(--mudo); }

/* =====================================================================================================
   Cabeçalhos e seções
   ===================================================================================================== */
.eyebrow { display: inline-block; font-size: 12px; font-weight: 800; letter-spacing: 1.6px; text-transform: uppercase; color: var(--verde); }
.cab-pagina { margin-bottom: 20px; }
.lead { color: var(--mudo); font-size: 16px; margin: 0; max-width: 820px; }
.voltar { display: flex; width: fit-content; align-items: center; gap: 4px; font-size: 14px; font-weight: 600; text-decoration: none; margin-bottom: 10px; }
.secao { margin: 34px 0 0; }
.secao-cab { display: flex; justify-content: space-between; align-items: baseline; gap: 12px; margin-bottom: 12px; flex-wrap: wrap; }
.secao-cab h2 { margin: 0; }
.secao-cab a { font-size: 14px; font-weight: 600; }

.heroi { background: var(--verde-escuro); color: #fff; border-radius: 20px; padding: 30px 32px 28px; position: relative; overflow: hidden; }
.heroi::after { content: ''; position: absolute; right: -120px; top: -140px; width: 380px; height: 380px; border-radius: 50%; background: radial-gradient(circle, #ffffff10, transparent 70%); pointer-events: none; }
.heroi .eyebrow { color: #cfe0d5; }
.heroi h1 { color: #fff; margin: 10px 0 8px; }
.heroi-texto { color: #d3e1d6; font-size: 16px; max-width: 780px; margin: 0 0 4px; }
.heroi-texto b { color: #fff; }
.heroi-meta { color: #b9cbc0; font-size: 13.5px; margin: 6px 0 0; }
.heroi-meta a, .heroi a:not(.btn):not(.estat) { color: var(--ouro); }
.estatisticas { display: grid; grid-template-columns: repeat(auto-fit, minmax(128px, 1fr)); gap: 10px; margin: 22px 0 0; position: relative; z-index: 1; }
.estat { display: block; border: 1px solid var(--verde-medio); border-radius: 13px; padding: 14px 16px; color: #fff; text-decoration: none; transition: background .15s, border-color .15s; }
.estat:hover { background: #ffffff0d; border-color: #7fa092; color: #fff; }
.estat b { display: block; font-size: 30px; line-height: 1.15; color: var(--ouro); font-weight: 750; letter-spacing: -.5px; }
.estat span { font-size: 12.5px; color: #d3e1d6; }
.estat.destaque { background: #f2d89214; border-color: #c9b26a; }
.heroi-acoes { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 22px; position: relative; z-index: 1; }

/* =====================================================================================================
   Botões
   ===================================================================================================== */
.btn { display: inline-flex; align-items: center; justify-content: center; gap: 7px; border: 1px solid #c4d0c6; background: var(--branco); color: var(--tinta); padding: 9px 15px; border-radius: 10px; cursor: pointer; font-weight: 650; font-size: 14.5px; line-height: 1.25; text-decoration: none; min-height: 40px; transition: background .15s, border-color .15s, box-shadow .15s, transform .15s; }
.btn:hover { border-color: var(--verde); color: var(--tinta); background: #fbfcfa; }
.btn:disabled { opacity: .55; cursor: not-allowed; }
.btn.primario { background: var(--verde); border-color: var(--verde); color: #fff; }
.btn.primario:hover { background: #0f5c48; color: #fff; }
.btn.escuro { background: var(--verde-escuro); border-color: var(--verde-escuro); color: #fff; }
.btn.ouro { background: var(--ouro); border-color: var(--ouro); color: var(--verde-escuro); }
.btn.ouro:hover { background: #f6e3ae; color: var(--verde-escuro); }
.btn.contorno-claro { background: transparent; border-color: #7fa092; color: #fff; }
.btn.contorno-claro:hover { background: #ffffff12; color: #fff; }
.btn.perigo { color: var(--recusado); border-color: var(--recusado-borda); }
.btn.perigo:hover { background: var(--recusado-claro); border-color: var(--recusado); }
.btn.fantasma { background: transparent; border-color: transparent; color: var(--verde); }
.btn.fantasma:hover { background: var(--nevoa); }
.btn.pequeno { padding: 5px 11px; font-size: 13px; border-radius: 8px; min-height: 32px; gap: 5px; }
.btn.grande { padding: 12px 20px; font-size: 15.5px; min-height: 48px; border-radius: 12px; }
.btn.destaque { border-color: var(--amarelo); background: var(--talvez-claro); box-shadow: 0 0 0 3px #e4b64c40; }
.btn-link { background: none; border: 0; padding: 2px 0; color: var(--verde); font-weight: 650; text-decoration: underline; text-underline-offset: 3px; cursor: pointer; font-size: inherit; display: inline-flex; align-items: center; gap: 5px; }
.btn-link:hover { color: var(--verde-escuro); }
.btn-icone { display: inline-grid; place-items: center; width: 40px; height: 40px; border-radius: 10px; border: 0; background: transparent; cursor: pointer; color: inherit; }
.btn-icone:hover { background: #00000010; }

/* =====================================================================================================
   Formulários
   ===================================================================================================== */
input[type=text], input[type=email], input[type=password], input[type=search], input[type=number], input[type=url], input[type=date], select, textarea {
  background: var(--branco); border: 1px solid #c4d0c6; border-radius: 10px; padding: 9px 12px; min-width: 0; max-width: 100%; min-height: 40px; outline: none;
}
select { padding-right: 30px; cursor: pointer; }
textarea { width: 100%; resize: vertical; line-height: 1.5; background: #fcfdfb; }
.form { display: grid; gap: 14px; }
label.campo, .campo { display: grid; gap: 5px; font-size: 13px; font-weight: 650; color: var(--mudo); min-width: 0; }
label.campo > span:first-child { color: #536353; }
label.campo input, label.campo select, label.campo textarea { color: var(--tinta); font-weight: 400; font-size: 14.5px; width: 100%; }
.campo-linha { display: grid; grid-template-columns: repeat(auto-fit, minmax(180px, 1fr)); gap: 12px; align-items: end; }
.ajuda { font-size: 12.5px; color: var(--mudo); font-weight: 400; }
label.checkbox { display: inline-flex; align-items: center; gap: 8px; font-size: 14px; font-weight: 600; cursor: pointer; }
label.checkbox input { width: 18px; height: 18px; accent-color: var(--verde); }
fieldset.sem-borda { border: 0; padding: 0; margin: 0; }
.contador-caracteres { font-size: 12px; color: var(--mudo); text-align: right; }

/* =====================================================================================================
   Selos, pontos, chips, abas
   ===================================================================================================== */
.selo { display: inline-flex; vertical-align: middle; align-items: center; gap: 4px; border-radius: 99px; padding: 3px 10px; font-size: 12px; font-weight: 750; line-height: 1.35; background: var(--verde-claro); color: var(--verde-escuro); white-space: nowrap; max-width: 100%; overflow: hidden; text-overflow: ellipsis; }
.selo.mini { font-size: 11px; padding: 1px 8px; font-weight: 700; vertical-align: 1px; }
.selo.prioridade { background: var(--verde); color: #fff; }
.selo.selecionado { background: #f8e7b4; color: #473913; }
.selo.mudo { background: var(--pendente-claro); color: var(--mudo); }
.selo.contorno { background: transparent; color: var(--mudo); border: 1px solid var(--linha); padding: 2px 9px; }
.selo.alerta { background: #fbedc4; color: #6e5110; }
.selo.concorrente { background: var(--roxo-claro); color: var(--roxo); }
.selo.tipo-meus_anuncios { background: #e3eef6; color: #23577a; }
.selo.tipo-marcados { background: var(--verde-claro); color: var(--verde-escuro); }
.selo.tipo-outro { background: var(--pendente-claro); color: var(--mudo); }
.selo.aprovado { background: var(--aprovado); color: #fff; }
.selo.recusado { background: var(--recusado); color: #fff; }
.selo.talvez { background: var(--talvez); color: #fff; }
.selo.pendente { background: var(--pendente-claro); color: var(--mudo); }
.selo.aprovado-claro { background: var(--aprovado-claro); color: var(--aprovado); }
.selo.recusado-claro { background: var(--recusado-claro); color: var(--recusado); }
.selo.talvez-claro { background: var(--talvez-claro); color: var(--talvez); }
.selo.pendente-claro { background: var(--pendente-claro); color: var(--mudo); }
.selo.legenda { background: #e3eef6; color: #23577a; }
.selo.proposto { background: var(--roxo-claro); color: var(--roxo); }
.selo.st-nova { background: #e3eef6; color: #23577a; }
.selo.st-em_producao { background: var(--talvez-claro); color: var(--talvez); }
.selo.st-feita { background: var(--aprovado-claro); color: var(--aprovado); }
.selo.st-descartada { background: var(--pendente-claro); color: var(--mudo); }
.ponto { display: inline-block; width: 9px; height: 9px; border-radius: 50%; margin: 0 4px 0 2px; background: var(--linha); vertical-align: 0; }
.ponto.aprovado { background: var(--aprovado); }
.ponto.talvez { background: #d8ab31; }
.ponto.recusado { background: var(--recusado); }
.ponto.pendente { background: #b8c2bd; }

.chips { display: flex; flex-wrap: wrap; gap: 6px; }
.chip { display: inline-flex; gap: 6px; align-items: center; border: 1px solid var(--linha); border-radius: 99px; padding: 5px 12px; font-size: 13px; font-weight: 600; background: var(--branco); cursor: pointer; color: var(--tinta); min-height: 32px; }
.chip:hover { border-color: var(--verde); }
.chip input { margin: 0; accent-color: var(--verde); }
.chip[aria-pressed="true"], .chip:has(input:checked) { background: var(--verde-escuro); border-color: var(--verde-escuro); color: #fff; }

.abas { display: flex; gap: 4px; border-bottom: 1px solid var(--linha); margin: 0 0 20px; overflow-x: auto; scrollbar-width: none; }
.abas::-webkit-scrollbar { display: none; }
.aba { background: none; border: 0; padding: 11px 14px 12px; font-weight: 650; font-size: 15px; color: var(--mudo); cursor: pointer; border-bottom: 3px solid transparent; margin-bottom: -1px; white-space: nowrap; display: inline-flex; gap: 7px; align-items: center; text-decoration: none; }
.aba:hover { color: var(--tinta); }
.aba[aria-selected="true"], .aba[aria-current="page"] { color: var(--verde-escuro); border-bottom-color: var(--verde); }
.aba em { font-style: normal; font-size: 12px; background: var(--pendente-claro); color: var(--mudo); border-radius: 99px; padding: 0 8px; }
.aba[aria-selected="true"] em { background: var(--verde-claro); color: var(--verde-escuro); }

/* =====================================================================================================
   Avisos e estados
   ===================================================================================================== */
.aviso { border-left: 4px solid var(--amarelo); background: var(--aviso-fundo); padding: 14px 18px; border-radius: 0 12px 12px 0; margin: 16px 0; font-size: 14.5px; }
.aviso strong { display: block; margin-bottom: 2px; }
.erro-caixa { border: 1px solid #e2b4ae; background: #fff0ee; color: #6d211b; border-radius: 10px; padding: 10px 14px; font-size: 14px; }
.ok-caixa { border: 1px solid var(--aprovado-borda); background: var(--aprovado-claro); color: #124b33; border-radius: 10px; padding: 10px 14px; font-size: 14px; }
.dica { font-size: 13px; color: var(--mudo); margin: 0 0 12px; }
.dica[hidden] { display: none; }
.vazio { text-align: center; color: var(--mudo); padding: 48px 16px; background: var(--branco); border: 1px dashed var(--linha); border-radius: var(--raio); grid-column: 1 / -1; }
.vazio svg { color: #9fb0a8; }
.vazio p { margin: 6px 0; }
.vazio b { color: var(--tinta); }
.pequeno-vazio { padding: 26px 16px; }
.segredo { background: var(--nevoa); border: 1px dashed var(--verde); padding: 12px 14px; border-radius: 10px; }

/* =====================================================================================================
   Cartões genéricos, listas, painel
   ===================================================================================================== */
.cartao { background: var(--branco); border: 1px solid var(--linha); border-radius: var(--raio); padding: 20px 22px; box-shadow: var(--sombra); min-width: 0; }
.cartao > h2:first-child { margin-top: 0; }
.pagina > .cartao + .cartao { margin-top: 16px; }
a.cartao { color: var(--tinta); text-decoration: none; display: block; transition: border-color .15s, transform .15s, box-shadow .15s; }
a.cartao:hover { border-color: #9fbcad; transform: translateY(-2px); box-shadow: 0 10px 26px #163d3414; }
.cartao-tipo h3 { margin: 12px 0 4px; font-size: 18px; }
.cartao-tipo-icone { width: 42px; height: 42px; border-radius: 12px; display: grid; place-items: center; background: var(--verde-claro); color: var(--verde-escuro); }
.cartao-tipo.tipo-concorrente .cartao-tipo-icone { background: var(--roxo-claro); color: var(--roxo); }
.cartao-tipo.tipo-meus_anuncios .cartao-tipo-icone { background: #e3eef6; color: #23577a; }
.cartao-tipo-numeros { display: flex; flex-wrap: wrap; gap: 4px 14px; margin-top: 12px; font-size: 13px; color: var(--mudo); }
.cartao-tipo-numeros b { color: var(--tinta); font-size: 17px; margin-right: 2px; }

.lista-linhas { list-style: none; margin: 0; padding: 0; background: var(--branco); border: 1px solid var(--linha); border-radius: var(--raio); overflow: hidden; }
.lista-linhas li + li { border-top: 1px solid var(--linha); }
.lista-linhas a { display: grid; gap: 2px; padding: 12px 16px; text-decoration: none; color: var(--tinta); }
.lista-linhas a:hover { background: #fafbf8; }
.lista-titulo { font-weight: 650; overflow-wrap: anywhere; }
.lista-meta { font-size: 12.5px; color: var(--mudo); }

.faixa-mini { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; }
.mini-video { display: flex; gap: 12px; align-items: center; background: var(--branco); border: 1px solid var(--linha); border-radius: 14px; padding: 8px; text-decoration: none; color: var(--tinta); min-width: 0; transition: border-color .15s, box-shadow .15s; }
.mini-video:hover { border-color: #9fbcad; box-shadow: var(--sombra); color: var(--tinta); }
.mini-video-capa { position: relative; width: 58px; height: 78px; border-radius: 9px; background: #10251e; flex-shrink: 0; overflow: hidden; display: grid; place-items: center; color: #7fa092; }
.mini-video-capa img { width: 100%; height: 100%; object-fit: cover; }
.mini-video-texto .selo { justify-self: start; }
.mini-video-texto { display: grid; gap: 2px; min-width: 0; font-size: 13px; }
.mini-video-texto b { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: 14px; }
.mini-video-texto span { color: var(--mudo); display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }

.progresso-editor { display: flex; gap: 12px; align-items: center; padding: 10px 0; }
.progresso-editor + .progresso-editor { border-top: 1px solid var(--linha); }
.progresso-editor-info { flex: 1; min-width: 0; display: grid; gap: 5px; }

.barra-decisoes { display: flex; height: 8px; border-radius: 99px; background: var(--pendente-claro); overflow: hidden; }
.barra-decisoes i { display: block; height: 100%; }
.barra-decisoes i.aprovado { background: var(--aprovado); }
.barra-decisoes i.talvez { background: #d8ab31; }
.barra-decisoes i.recusado { background: var(--recusado); }

/* Análises: cartões de triagem */
.grade-triagens { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 340px), 1fr)); gap: 16px; }
.cartao-triagem { background: var(--branco); border: 1px solid var(--linha); border-radius: var(--raio); padding: 18px 20px; box-shadow: var(--sombra); display: flex; flex-direction: column; gap: 10px; min-width: 0; }
.cartao-triagem h3 { margin: 0; font-size: 18px; }
.cartao-triagem h3 a { color: var(--tinta); text-decoration: none; }
.cartao-triagem h3 a:hover { color: var(--verde); text-decoration: underline; }
.ct-topo { display: flex; justify-content: space-between; align-items: center; gap: 8px; }
.ct-desc { margin: 0; color: var(--mudo); font-size: 14px; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.ct-meta { margin: 0; font-size: 13px; color: var(--mudo); }
.ct-numeros { display: flex; gap: 6px; flex-wrap: wrap; }
.ct-legenda { display: flex; flex-wrap: wrap; gap: 4px 14px; font-size: 13px; }
.ct-legenda a { color: var(--tinta); text-decoration: none; }
.ct-legenda a:hover { text-decoration: underline; }
.ct-aviso { margin: 0; font-size: 12.5px; color: #7a5a12; display: flex; gap: 5px; align-items: center; }
.ct-abrir { align-self: flex-start; margin-top: auto; }
.barra-concorrente { display: flex; flex-wrap: wrap; gap: 12px; align-items: end; margin-bottom: 16px; }
.barra-concorrente .campo { min-width: min(320px, 100%); }
.heroi-triagem { margin-bottom: 4px; }
.notas-metodo { background: var(--branco); border: 1px solid var(--linha); border-radius: 12px; padding: 12px 16px; margin: 14px 0; }
.notas-metodo summary { cursor: pointer; font-weight: 650; color: var(--verde); }
.notas-metodo .texto-pre { margin-top: 8px; font-size: 14px; }
.chips-rapidos { display: flex; flex-wrap: wrap; gap: 6px; align-items: center; margin: 18px 0 14px; }

/* =====================================================================================================
   Galeria de vídeos
   ===================================================================================================== */
.filtros { position: sticky; top: 0; z-index: 15; background: var(--nevoa-2); border-radius: 14px; padding: 12px 14px; margin-bottom: 14px; box-shadow: 0 6px 16px #f5f3ecd9; }
.filtros { display: flex; flex-wrap: wrap; gap: 8px 10px; align-items: end; }
.filtros-topo { display: flex; gap: 10px; flex: 3 1 300px; }
.busca { flex: 1; min-width: 0; display: flex; align-items: center; gap: 8px; background: var(--branco); border: 1px solid #c4d0c6; border-radius: 10px; padding: 0 12px; min-height: 42px; color: var(--mudo); }
.busca:focus-within { border-color: var(--verde); box-shadow: 0 0 0 3px #136a5440; }
.busca input { border: 0; padding: 8px 0; flex: 1; min-width: 0; background: transparent; box-shadow: none !important; min-height: 0; color: var(--tinta); }
.filtros-alternar { display: none; }
.filtros-alternar em { font-style: normal; background: var(--verde); color: #fff; border-radius: 99px; font-size: 11.5px; padding: 0 7px; min-width: 20px; }
.filtros-alternar em:empty { display: none; }
.filtros-campos { display: contents; }
.filtros-campos > .campo { flex: 1 1 150px; }
.filtros-campos > .campo.largo { flex-basis: 215px; }
.filtros-campos > .checkbox, .filtros-campos > .btn-link { flex: 0 0 auto; }
.filtros-campos .campo { font-size: 11.5px; gap: 3px; }
.filtros-campos select { min-height: 38px; padding-top: 7px; padding-bottom: 7px; font-size: 14px; }
.filtros-campos .checkbox, .filtros-campos .btn-link { min-height: 38px; }
.barra-resultado { display: flex; justify-content: space-between; align-items: center; gap: 10px; flex-wrap: wrap; margin: 4px 0 10px; }
.contagem { margin: 0; font-size: 14px; display: flex; flex-wrap: wrap; gap: 4px 10px; align-items: center; }
.contagem b { font-size: 16px; }
.contagem-minhas { font-size: 13px; display: inline-flex; align-items: center; gap: 2px; flex-wrap: wrap; }
.barra-lote { position: sticky; top: 74px; z-index: 14; display: flex; flex-wrap: wrap; gap: 10px; align-items: center; background: var(--branco); border: 2px solid var(--verde); border-radius: 14px; padding: 10px 14px; margin: 0 0 14px; box-shadow: var(--sombra); }
.galeria { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 22px; align-items: start; }
.mais { display: flex; justify-content: center; margin: 26px 0 0; }
.video-sozinho { max-width: 720px; }

/* Cartão do vídeo (§5.3) */
.cartao-video { position: relative; scroll-margin-top: 160px; background: var(--branco); border: 1px solid var(--linha); border-top: 5px solid var(--linha); border-radius: 18px; padding: 18px 20px 14px; box-shadow: var(--sombra); min-width: 0; overflow-wrap: anywhere; display: flex; flex-direction: column; gap: 12px; }
.cartao-video[data-minha="aprovado"] { border-top-color: #2c9669; }
.cartao-video[data-minha="recusado"] { border-top-color: #bc635d; }
.cartao-video[data-minha="talvez"] { border-top-color: #d8ab31; }
.cv-selos { display: flex; flex-wrap: wrap; gap: 6px; align-items: center; }
.cv-selos:has(.cv-marcar) { padding-right: 30px; }
.cv-marcar { position: absolute; top: 16px; right: 16px; display: inline-flex; align-items: center; padding: 2px; cursor: pointer; }
.cv-marcar input { width: 18px; height: 18px; accent-color: var(--verde); cursor: pointer; }
.cv-perfil { display: flex; flex-wrap: wrap; align-items: baseline; justify-content: space-between; gap: 4px 14px; }
.cv-arroba { font-size: 21px; font-weight: 780; letter-spacing: -.3px; color: var(--tinta); text-decoration: none; line-height: 1.25; }
a.cv-arroba:hover { color: var(--verde); text-decoration: underline; }
.cv-abrir { display: inline-flex; align-items: center; gap: 5px; font-size: 14px; font-weight: 650; white-space: nowrap; }
.cv-desc { margin: -6px 0 0; font-size: 14.5px; }
.cv-meta { margin: -6px 0 0; font-size: 12.5px; color: var(--mudo); display: flex; flex-wrap: wrap; gap: 2px 12px; }
.cv-player video { display: block; width: 100%; height: 440px; background: #10251e; border-radius: 12px; object-fit: contain; }
.cv-sem-video { position: relative; height: 200px; border-radius: 12px; background: #10251e; color: #cfe0d5; display: grid; place-items: center; overflow: hidden; text-align: center; padding: 16px; font-size: 14px; }
.cv-sem-video img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; opacity: .35; }
.cv-sem-video span { position: relative; display: inline-flex; gap: 8px; align-items: center; }
.cv-medidas { margin: -6px 0 0; font-size: 12.5px; color: var(--mudo); display: flex; flex-wrap: wrap; gap: 4px 8px; align-items: center; }
.cv-bloco { display: grid; gap: 8px; }
.cv-rotulo { font-size: 11px; letter-spacing: 1.3px; font-weight: 800; color: #536c5e; text-transform: uppercase; }
.cv-quadro { display: block; width: 100%; padding: 0; border: 1px solid var(--linha); border-radius: 10px; overflow: hidden; background: #10251e; cursor: zoom-in; line-height: 0; }
.cv-quadro img { width: 100%; height: auto; display: block; min-height: 60px; }
.cv-quadro:hover { border-color: var(--verde); }
.grade-quadros { display: grid; grid-template-columns: repeat(auto-fill, minmax(120px, 1fr)); gap: 8px; margin-top: 10px; }
.grade-quadros .cv-quadro img { aspect-ratio: 9 / 16; object-fit: cover; min-height: 0; }
.cv-quadros .btn { justify-self: start; }
.cv-quadros-extra[hidden] { display: none; }

/* Decisão — botões grandes como o .approval-top do original */
.decisao { padding: 16px; background: linear-gradient(145deg, #f8faf7, #edf3ec); border: 1px solid #dce6d9; border-radius: 16px; box-shadow: 0 3px 12px #163d3405; }
.decisao-topo { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-bottom: 12px; font-size: 10.5px; letter-spacing: 1.4px; font-weight: 800; color: #536c5e; text-transform: uppercase; min-height: 24px; }
.decisao-limpar { background: transparent; color: #68796b; border: 0; padding: 3px 0; font-size: 12px; text-decoration: underline; text-underline-offset: 3px; cursor: pointer; letter-spacing: 0; text-transform: none; font-weight: 600; }
.decisao-limpar:hover { color: var(--verde-escuro); }
.decisao-limpar[hidden] { display: none; }
.decisao-botoes { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; }
.decisao-btn { --tinta-b: var(--aprovado); --borda-b: var(--aprovado-borda); --claro-b: var(--aprovado-claro); --sombra-b: #18704c2b;
  display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 5px; min-height: 92px; min-width: 0; padding: 12px 5px 9px;
  border: 1px solid var(--borda-b); border-radius: 13px; background: #fff; color: var(--tinta-b); font: 700 14.5px/1.2 system-ui, -apple-system, "Segoe UI", sans-serif; cursor: pointer;
  box-shadow: 0 2px 4px #142c1f07; transition: background .16s, border-color .16s, box-shadow .16s, transform .16s; }
.decisao-btn.recusado { --tinta-b: var(--recusado); --borda-b: var(--recusado-borda); --claro-b: var(--recusado-claro); --sombra-b: #a83e3e22; }
.decisao-btn.talvez { --tinta-b: var(--talvez); --borda-b: var(--talvez-borda); --claro-b: var(--talvez-claro); --sombra-b: #8b651b26; }
.decisao-icone { display: grid; place-items: center; width: 34px; height: 34px; border-radius: 50%; background: var(--claro-b); }
.decisao-marcado { font-size: 9.5px; letter-spacing: .3px; font-weight: 650; opacity: 0; min-height: 11px; }
.decisao-btn:hover { background: var(--claro-b); border-color: var(--tinta-b); transform: translateY(-2px); box-shadow: 0 5px 12px var(--sombra-b); }
.decisao-btn[aria-pressed="true"] { background: var(--tinta-b); color: #fff; border-color: var(--tinta-b); box-shadow: 0 4px 12px var(--sombra-b); }
.decisao-btn[aria-pressed="true"] .decisao-icone { background: #ffffff25; }
.decisao-btn[aria-pressed="true"] .decisao-marcado { opacity: 1; }
.decisao-carimbo { font-size: 12px; line-height: 1.5; margin: 12px 0 0; color: #6b7b70; }
.decisao-carimbo.erro, [data-linha-salvar].erro { color: var(--erro); font-weight: 600; }
.decisao-outros { display: flex; flex-wrap: wrap; gap: 6px; align-items: center; margin-top: 10px; padding-top: 10px; border-top: 1px dashed #d3ddd0; font-size: 12.5px; }
.decisao-outros-rotulo { font-weight: 700; color: #536c5e; margin-right: 2px; }
.chip-decisao { display: inline-flex; align-items: center; gap: 4px; border-radius: 99px; padding: 2px 9px 2px 6px; font-size: 12px; font-weight: 650; background: var(--pendente-claro); color: var(--mudo); }
.chip-decisao.aprovado { background: var(--aprovado-claro); color: var(--aprovado); }
.chip-decisao.recusado { background: var(--recusado-claro); color: var(--recusado); }
.chip-decisao.talvez { background: var(--talvez-claro); color: var(--talvez); }
.chip-decisao.final { box-shadow: inset 0 0 0 1.5px currentColor; }
.chip-decisao small { font-weight: 500; opacity: .8; }

/* Análise visual do agente */
.cv-analise { padding: 14px 16px; background: var(--nevoa); border-radius: 12px; gap: 6px; }
.cv-analise-topo { display: flex; justify-content: space-between; align-items: center; gap: 8px; flex-wrap: wrap; }
.cv-analise-topo .cv-rotulo { color: #164b39; }
.cv-previa { margin: 0; font-size: 14px; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.cv-previa[hidden], .cv-analise-completa[hidden] { display: none; }
.cv-analise .btn-link { justify-self: start; font-size: 13.5px; }
.analise + .analise { border-top: 1px solid #d3ddd0; padding-top: 12px; margin-top: 12px; }
.analise-cab { display: flex; flex-wrap: wrap; gap: 2px 8px; align-items: baseline; margin-bottom: 6px; font-size: 14px; }
.analise-dl { margin: 0; display: grid; gap: 2px; }
.analise-dl dt { font-size: 11px; font-weight: 800; text-transform: uppercase; letter-spacing: .7px; margin-top: 10px; color: var(--verde); display: flex; align-items: center; gap: 6px; flex-wrap: wrap; }
.analise-dl dt .selo { text-transform: none; letter-spacing: 0; }
.analise-dl dd { margin: 2px 0 0; font-size: 14px; }
.analise-dl ul { margin: 2px 0; padding-left: 18px; }
.janelas { list-style: none; padding: 0 !important; display: grid; gap: 4px; }
.janelas b { font-variant-numeric: tabular-nums; }
.gancho { font-size: 16px; font-weight: 650; color: var(--verde-escuro); }
.analise-evidencias { margin-top: 10px; font-size: 13.5px; }
.analise-evidencias summary { cursor: pointer; font-weight: 650; color: var(--verde); }
.analise-evidencias ul { margin: 6px 0 0; padding-left: 18px; }
.limites { background: var(--aviso-fundo); border-radius: 10px; padding: 10px 12px; font-size: 13px; margin-top: 12px; }
.limites ul { margin: 4px 0 0; padding-left: 18px; }
.transcricao { max-height: 260px; overflow: auto; background: var(--branco); border-radius: 8px; padding: 8px 10px; font-size: 13px; margin-top: 8px; }

/* Seções recolhidas do cartão */
.cv-secao { border-top: 1px solid var(--linha); padding-top: 4px; }
.cv-secao > summary { cursor: pointer; list-style: none; display: flex; align-items: center; gap: 8px; padding: 8px 0; font-weight: 700; font-size: 14.5px; color: var(--tinta); }
.cv-secao > summary::-webkit-details-marker { display: none; }
.cv-secao > summary::after { content: ''; width: 8px; height: 8px; border-right: 2px solid var(--mudo); border-bottom: 2px solid var(--mudo); transform: rotate(45deg); margin: -4px 4px 0 auto; transition: transform .15s; flex-shrink: 0; }
.cv-secao[open] > summary::after { transform: rotate(-135deg); margin-top: 4px; }
.cv-secao > summary svg { color: var(--verde); }
.cv-secao > summary > span:first-of-type { white-space: nowrap; }
.cv-secao-info { font-weight: 500; font-size: 12.5px; color: var(--mudo); min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
[data-slot="comentarios"] { display: grid; gap: 16px; }
.cv-secao.discreta > summary { font-size: 13px; color: var(--mudo); font-weight: 650; }
.cv-secao.discreta > summary svg { color: var(--mudo); }
.cv-secao-corpo { display: grid; gap: 12px; padding: 4px 0 10px; font-size: 14px; }
.cv-subtitulo { font-size: 12px; font-weight: 800; color: #536c5e; text-transform: uppercase; letter-spacing: .8px; }
.comentario { border-left: 3px solid var(--linha); padding: 3px 10px; }
.comentario-por { font-size: 12px; color: var(--mudo); }
.comentario-texto { white-space: pre-wrap; font-size: 14px; }
.historico { font-size: 12px; color: var(--mudo); padding-left: 18px; }
.cv-rodape { display: flex; flex-wrap: wrap; gap: 6px 18px; align-items: center; border-top: 1px solid var(--linha); padding-top: 12px; font-size: 14px; }
.cv-rodape a { display: inline-flex; align-items: center; gap: 5px; font-weight: 650; }
.cv-rodape .btn-link { margin-left: auto; font-size: 13.5px; color: var(--mudo); }
.cv-rodape .btn-link:hover { color: var(--verde); }

/* =====================================================================================================
   Mural de ideias (para a tela Ideias)
   ===================================================================================================== */
.mural { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 290px), 1fr)); gap: 16px; align-items: start; }
.cartao-ideia { background: var(--branco); border: 1px solid var(--linha); border-radius: var(--raio); padding: 16px 18px; box-shadow: var(--sombra); display: grid; gap: 8px; min-width: 0; color: var(--tinta); text-decoration: none; transition: border-color .15s, transform .15s; }
a.cartao-ideia:hover, button.cartao-ideia:hover { border-color: #9fbcad; transform: translateY(-2px); }
button.cartao-ideia { text-align: left; cursor: pointer; font: inherit; }
.cartao-ideia.fixada { border-color: #e2cf8f; background: linear-gradient(#fffdf5, #fff); }
.ci-topo { display: flex; justify-content: space-between; gap: 8px; align-items: center; flex-wrap: wrap; font-size: 12.5px; color: var(--mudo); }
.ci-titulo { font-size: 17px; font-weight: 750; line-height: 1.3; margin: 0; overflow-wrap: anywhere; }
.ci-texto { margin: 0; font-size: 14px; color: #3d4f4a; display: -webkit-box; -webkit-line-clamp: 4; -webkit-box-orient: vertical; overflow: hidden; white-space: pre-line; }
.ci-miniaturas { display: grid; grid-template-columns: repeat(4, 1fr); gap: 6px; }
.ci-miniaturas img, .ci-miniaturas .ci-mini { width: 100%; aspect-ratio: 1; object-fit: cover; border-radius: 8px; background: #10251e; display: grid; place-items: center; color: #cfe0d5; }
.ci-rodape { display: flex; flex-wrap: wrap; gap: 4px 12px; font-size: 12.5px; color: var(--mudo); align-items: center; }

/* =====================================================================================================
   Envio
   ===================================================================================================== */
.zona-arrastar { border: 2px dashed #b9c8bd; border-radius: 16px; padding: 30px 16px; display: grid; gap: 10px; justify-items: center; text-align: center; background: var(--nevoa); color: var(--mudo); transition: border-color .15s, background .15s; }
.zona-arrastar strong { font-size: 17px; color: var(--tinta); }
.zona-arrastar.sobre { border-color: var(--verde); background: var(--verde-claro); color: var(--verde); }
.progresso { height: 8px; background: var(--pendente-claro); border-radius: 99px; overflow: hidden; }
.progresso.grande { height: 12px; margin: 10px 0 6px; }
.progresso > i { display: block; height: 100%; width: 0; background: linear-gradient(90deg, var(--verde), #2c9669); border-radius: 99px; transition: width .25s; }
.grade-estat { display: grid; grid-template-columns: repeat(auto-fill, minmax(130px, 1fr)); gap: 8px; }
.estat-claro { background: var(--nevoa); border-radius: 12px; padding: 10px 14px; }
.estat-claro b { display: block; font-size: 24px; color: var(--verde-escuro); line-height: 1.2; }
.estat-claro span { font-size: 12.5px; color: var(--mudo); }
.lista-arquivos { list-style: none; margin: 0; padding: 0; display: grid; gap: 4px; font-size: 13px; }
.lista-arquivos li { display: grid; grid-template-columns: 1fr auto auto; gap: 10px; align-items: center; padding: 6px 10px; background: var(--nevoa); border-radius: 8px; }
.la-nome { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.la-tamanho, .la-estado { color: var(--mudo); white-space: nowrap; }
.passos { margin: 0; padding: 0; list-style: none; counter-reset: passo; display: grid; gap: 10px; }
.passos > li { counter-increment: passo; position: relative; padding-left: 40px; min-height: 28px; }
.passos > li::before { content: counter(passo); position: absolute; left: 0; top: -2px; width: 28px; height: 28px; border-radius: 50%; background: var(--verde-escuro); color: var(--ouro); font-weight: 800; display: grid; place-items: center; font-size: 14px; }

/* =====================================================================================================
   Tabelas
   ===================================================================================================== */
.tabela-envolta { overflow-x: auto; border: 1px solid var(--linha); border-radius: 12px; background: var(--branco); }
.tabela { border-collapse: collapse; width: 100%; font-size: 14px; }
.tabela th, .tabela td { text-align: left; padding: 9px 12px; border-bottom: 1px solid var(--linha); vertical-align: top; }
.tabela tr:last-child td { border-bottom: 0; }
.tabela th { font-size: 11.5px; text-transform: uppercase; letter-spacing: .6px; color: var(--mudo); background: #f7f9f5; font-weight: 750; }

/* =====================================================================================================
   Modal, player embutido, imagem em tela cheia, aviso rápido
   ===================================================================================================== */
dialog.modal { border: 0; border-radius: 18px; padding: 0; background: var(--branco); color: var(--tinta); width: min(760px, calc(100% - 32px)); max-height: calc(100dvh - 32px); box-shadow: var(--sombra-forte); overflow: hidden; }
dialog.modal[open] { display: flex; flex-direction: column; }
dialog.modal::backdrop { background: #0d1a16a6; }
.modal-estreita { width: min(480px, calc(100% - 32px)) !important; }
.modal-larga { width: min(1100px, calc(100% - 32px)) !important; }
.modal-topo { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 12px 12px 12px 22px; border-bottom: 1px solid var(--linha); flex-shrink: 0; }
.modal-titulo { margin: 0; font-size: 17px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.modal-corpo { padding: 20px 22px 22px; overflow-y: auto; overscroll-behavior: contain; }
.modal-rodape { display: flex; justify-content: flex-end; gap: 10px; flex-wrap: wrap; margin-top: 8px; }
.modal-video .modal-corpo { background: var(--creme); padding: 16px; }
.modal-video .cartao-video { box-shadow: none; }
.modal-cheia { width: 100vw !important; max-width: 100vw; height: 100dvh; max-height: 100dvh !important; border-radius: 0 !important; background: #0d1a16 !important; color: #fff !important; }
.modal-cheia .modal-topo { border-color: #ffffff1f; }
.modal-cheia .modal-fechar { color: #fff; }
.modal-cheia .modal-fechar:hover { background: #ffffff1a; }
.modal-cheia .modal-corpo { padding: 0; flex: 1; display: flex; flex-direction: column; }
.lightbox { flex: 1; overflow: auto; display: grid; place-items: center; padding: 12px; }
.lightbox img { max-width: 100%; max-height: calc(100dvh - 120px); object-fit: contain; cursor: zoom-in; border-radius: 6px; }
.lightbox.real { place-items: start; }
.lightbox.real img { max-width: none; max-height: none; cursor: zoom-out; }
.lightbox-dica { text-align: center; font-size: 12.5px; color: #b9cbc0; margin: 0; padding: 8px; }
.embed { position: relative; width: 100%; background: #10251e; border-radius: 12px; overflow: hidden; }
.embed.vertical { aspect-ratio: 9 / 16; max-height: calc(100dvh - 190px); margin: 0 auto; }
.embed.horizontal { aspect-ratio: 16 / 9; }
.embed iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; }
.embed-rodape { margin: 10px 0 0; text-align: center; }
.modal-estreita .embed.vertical { width: min(100%, calc((100dvh - 190px) * 9 / 16)); }

.toast { position: fixed; left: 50%; bottom: 22px; transform: translateX(-50%); background: var(--verde-escuro); color: #fff; padding: 11px 18px; border-radius: 12px; z-index: 100; max-width: calc(100% - 32px); box-shadow: var(--sombra-forte); font-size: 14px; font-weight: 550; }
.toast.erro { background: var(--recusado); }
.toast[hidden] { display: none; }

/* Apelidos das classes da versão 1 (para código portado de views/_antigo-enviar-equipe.js) */
.btn.small { padding: 5px 11px; font-size: 13px; border-radius: 8px; min-height: 32px; }
.btn.primary { background: var(--verde); border-color: var(--verde); color: #fff; }
.btn.danger { color: var(--recusado); }
.panel { background: var(--branco); border: 1px solid var(--linha); border-radius: var(--raio); padding: 20px 22px; box-shadow: var(--sombra); }
label.field { display: grid; gap: 5px; font-size: 13px; font-weight: 650; color: var(--mudo); }
.row { display: flex; gap: 10px; flex-wrap: wrap; align-items: end; }
.stack { display: grid; gap: 12px; }
.muted { color: var(--mudo); }
.small { font-size: 13px; }
.error-box { border: 1px solid #e2b4ae; background: #fff0ee; border-radius: 10px; padding: 10px 14px; font-size: 14px; }
.ok-box { border: 1px solid var(--aprovado-borda); background: var(--aprovado-claro); border-radius: 10px; padding: 10px 14px; font-size: 14px; }
.notice { border-left: 4px solid var(--amarelo); background: var(--aviso-fundo); padding: 12px 16px; border-radius: 0 12px 12px 0; font-size: 14px; }
.badge { display: inline-flex; border-radius: 99px; padding: 2px 9px; font-size: 12px; font-weight: 700; background: var(--pendente-claro); color: var(--mudo); }

/* =====================================================================================================
   Responsivo
   ===================================================================================================== */
@media (max-width: 1180px) {
  .faixa-mini { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 1060px) {
  .galeria { grid-template-columns: 1fr; max-width: 720px; }
  .grade-3 { grid-template-columns: 1fr; }
}
@media (max-width: 860px) {
  .menu { transform: translateX(-102%); transition: transform .22s ease; box-shadow: none; width: min(300px, 86vw); }
  body.gaveta-aberta .menu { transform: none; box-shadow: var(--sombra-forte); }
  .menu .menu-fechar { display: inline-grid; }
  .conteudo { margin-left: 0; }
  .barra-topo { display: flex; align-items: center; gap: 8px; position: sticky; top: 0; z-index: 30; background: var(--verde-escuro); color: #fff; padding: 6px 10px; min-height: 56px; }
  .barra-topo .btn-icone:hover { background: #ffffff14; }
  .barra-topo-marca { display: flex; align-items: center; gap: 8px; font-size: 16px; }
  .barra-topo-marca .marca-simbolo { width: 30px; height: 30px; border-radius: 9px; }
  .barra-topo-titulo { margin-left: auto; font-size: 14px; color: #cfe0d5; font-weight: 600; padding-right: 6px; }
  .faixa-aviso { padding: 8px 16px; }
  .pagina { padding: 18px 16px 80px; }
  .grade-2 { grid-template-columns: 1fr; }
  .heroi { padding: 22px 18px; border-radius: 16px; }
  .estatisticas { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
  .estat { padding: 11px 13px; }
  .estat b { font-size: 25px; }
  .filtros { top: 56px; padding: 10px; border-radius: 12px; }
  .filtros-alternar { display: inline-flex; }
  .filtros { display: block; }
  .filtros.aberto { max-height: calc(100dvh - 72px); overflow-y: auto; }
  .filtros-campos { display: none; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; margin-top: 10px; align-items: end; }
  .filtros.aberto .filtros-campos { display: grid; }
  .barra-lote { top: 120px; }
  .cartao-video { padding: 14px 14px 12px; border-radius: 16px; }
  .cv-arroba { font-size: 19px; }
  .cv-player video { height: min(70vh, 520px); }
  .cartao { padding: 16px; }
  dialog.modal { width: 100% !important; max-width: 100%; max-height: 100dvh; height: 100dvh; border-radius: 0; margin: 0; }
  .modal-corpo { padding: 16px; }
  .modal-video .modal-corpo { padding: 10px; }
}
@media (max-width: 520px) {
  .faixa-mini { grid-template-columns: 1fr; }
  .faixa-mini .mini-video:nth-child(n+5) { display: none; }
  .filtros-campos { grid-template-columns: 1fr; }
  .decisao { padding: 13px; }
  .decisao-botoes { gap: 7px; }
  .decisao-btn { font-size: 13.5px; min-height: 88px; }
  .cv-rodape .btn-link { margin-left: 0; }
  .cv-secao.discreta .cv-secao-info { display: none; }
  .heroi-acoes .btn { flex: 1 1 100%; }
  .tabela { font-size: 13px; }
}
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { transition: none !important; animation: none !important; }
  .decisao-btn:hover, a.cartao:hover, .cartao-ideia:hover { transform: none; }
}

/* =====================================================================================================
   Ideias, Enviar, Instruções, Equipe
   ===================================================================================================== */
/* --- comuns --- */
[hidden] { display: none !important; }
.avatar.mini { width: 22px; height: 22px; font-size: 11px; }
.lista-arquivos li { grid-template-columns: minmax(0, 1fr) auto auto; }
.lista-arquivos .la-nome { display: flex; align-items: center; gap: 6px; min-width: 0; }
.lista-arquivos .la-progresso { grid-column: 1 / -1; height: 5px; }
.lista-arquivos li[data-estado="ok"] .la-progresso > i { background: var(--aprovado); }
.lista-arquivos li[data-estado="erro"] { background: var(--recusado-claro); }
.lista-arquivos li[data-estado="erro"] .la-progresso { display: none; }
.lista-arquivos .la-estado .ok { color: var(--aprovado); font-weight: 650; display: inline-flex; align-items: center; gap: 3px; }
.lista-arquivos .la-estado { display: inline-flex; align-items: center; gap: 4px; max-width: 46vw; overflow: hidden; text-overflow: ellipsis; }
.lista-arquivos .btn-icone { width: 26px; height: 26px; }

/* --- Ideias: mural --- */
.ideias-cab { display: flex; justify-content: space-between; align-items: flex-end; gap: 16px; flex-wrap: wrap; }
.ideias-cab > div { min-width: 0; flex: 1 1 420px; }
.ideias-barra { display: flex; flex-wrap: wrap; gap: 8px 10px; align-items: center; background: var(--nevoa-2); border-radius: 14px; padding: 12px 14px; margin-bottom: 12px; }
.ideias-barra .busca { flex: 2 1 240px; }
.ideias-barra select { flex: 1 1 160px; min-height: 42px; }
.ideias-barra .checkbox { flex: 0 0 auto; padding: 0 4px; }
.cartao-ideia.descartada { opacity: .72; }
.ci-selos { gap: 5px; }
.selo.fixa { background: var(--ouro); color: var(--verde-escuro); }
.ci-tags { display: flex; flex-wrap: wrap; gap: 4px; }
.ci-tags a.selo { text-decoration: none; }
.ci-tags a.selo:hover { border-color: var(--verde); color: var(--verde); }
.ci-autor { display: inline-flex; align-items: center; gap: 6px; font-weight: 650; color: var(--tinta); margin-right: auto; }
.ci-rodape > span:not(.ci-autor) { display: inline-flex; align-items: center; gap: 3px; }
.ci-mini { position: relative; overflow: hidden; }
.ci-mini-bib img { position: absolute; inset: 0; }
.ci-mini-bib i, .mini-video-play { position: absolute; display: grid; place-items: center; width: 26px; height: 26px; border-radius: 50%; background: #0d1a16b3; color: #fff; }
.ci-mini-bib i svg, .mini-video-play svg { fill: currentColor; }
.ci-mini-arq { align-content: center; gap: 3px; padding: 6px; text-align: center; }
.ci-mini-arq small { font-size: 9.5px; line-height: 1.2; max-width: 100%; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; color: #b9cbc0; }

/* --- Ideias: detalhe --- */
.ideia-cab { display: grid; gap: 10px; margin-bottom: 16px; }
.ideia-titulo { margin: 0; overflow-wrap: anywhere; }
.ideia-acoes { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 10px; padding-top: 10px; border-top: 1px solid var(--linha); }
.ideia-acoes-dir { margin-left: auto; gap: 8px; }
.ideia-status { display: flex; flex-wrap: wrap; gap: 6px; }
.ideia-grade { display: grid; grid-template-columns: minmax(0, 1.65fr) minmax(300px, 1fr); gap: 16px; align-items: start; }
.ideia-principal > .cartao h2, .ideia-comentarios h2 { font-size: 17px; margin: 0 0 10px; }
.ideia-texto { font-size: 15.5px; line-height: 1.6; overflow-wrap: anywhere; }
.ideia-links { list-style: none; margin: 0 0 8px; padding: 0; display: grid; gap: 8px; }
.ideia-link { display: grid; grid-template-columns: auto minmax(0, 1fr) auto; gap: 12px; align-items: center; padding: 10px 12px; border: 1px solid var(--linha); border-radius: 12px; background: #fbfcfa; }
.ideia-link-icone { width: 38px; height: 38px; border-radius: 10px; display: grid; place-items: center; background: var(--pendente-claro); color: var(--mudo); }
.ideia-link-icone.tocar { background: var(--verde-escuro); color: var(--ouro); }
.ideia-link-icone.tocar svg { fill: currentColor; }
.ideia-link-texto { display: grid; min-width: 0; }
.ideia-link-texto b { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.ideia-link-texto a { color: var(--mudo); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; text-decoration: none; }
.ideia-link-texto a:hover { color: var(--verde); text-decoration: underline; }
.ideia-videos { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 230px), 1fr)); gap: 10px; }
.ideia-video-sumiu { opacity: .7; }
.ideia-anexos { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 220px), 1fr)); gap: 12px; }
.ideia-anexo { margin: 0; display: grid; gap: 6px; align-content: start; min-width: 0; }
.ideia-anexo video { width: 100%; max-height: 420px; aspect-ratio: 9 / 16; background: #10251e; border-radius: 12px; object-fit: contain; display: block; }
.ideia-anexo-img { display: block; width: 100%; padding: 0; border: 1px solid var(--linha); border-radius: 12px; overflow: hidden; background: #10251e; cursor: zoom-in; line-height: 0; }
.ideia-anexo-img img { width: 100%; max-height: 420px; object-fit: contain; display: block; }
.ideia-anexo-img:hover { border-color: var(--verde); }
.ideia-anexo figcaption { display: grid; gap: 2px; min-width: 0; }
.ideia-anexo-nome { font-weight: 650; font-size: 13.5px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.ideia-anexo-acoes { gap: 6px; margin-top: 4px; }
.ideia-zona { padding: 18px 14px; gap: 6px; }
.ideia-zona .btn-link { font-size: inherit; }
.ideia-comentarios { position: sticky; top: 16px; max-height: calc(100vh - 32px); overflow-y: auto; }
.ideia-comentarios .comentario-por { align-items: center; }
.ic-excluir { font-size: 12px; color: var(--mudo); font-weight: 600; }
.mini-video-capa .mini-video-play { width: 24px; height: 24px; }

/* --- Ideias: editor --- */
.ideia-form { gap: 16px; }
.ideia-recuperado { margin: 0; }
.ideia-bloco { border-top: 1px solid var(--linha); padding-top: 12px; }
.ideia-legenda { display: inline-flex; align-items: center; gap: 6px; font-size: 13.5px; font-weight: 750; color: var(--tinta); padding: 0; margin-bottom: 4px; }
.ideia-legenda svg { color: var(--verde); }
.ideia-links-edicao { list-style: none; margin: 0; padding: 0; display: grid; gap: 8px; }
.ideia-links-edicao li { display: grid; grid-template-columns: minmax(0, 1.6fr) minmax(0, 1fr) auto auto; gap: 6px; align-items: center; }
.ideia-links-edicao input { width: 100%; }
.ideia-resultados { list-style: none; margin: 0; padding: 4px; border: 1px solid var(--linha); border-radius: 12px; background: var(--branco); box-shadow: var(--sombra); display: grid; gap: 2px; max-height: 300px; overflow-y: auto; }
.ideia-resultados[hidden] { display: none; }
.ideia-resultado { display: grid; grid-template-columns: auto minmax(0, 1fr) auto; gap: 10px; align-items: center; width: 100%; padding: 6px 8px; border: 0; border-radius: 9px; background: none; cursor: pointer; text-align: left; }
.ideia-resultado:hover, .ideia-resultado:focus-visible { background: var(--nevoa); }
.ideia-resultado-capa { width: 36px; height: 48px; border-radius: 7px; overflow: hidden; background: #10251e; color: #7fa092; display: grid; place-items: center; }
.ideia-resultado-capa img { width: 100%; height: 100%; object-fit: cover; }
.ideia-resultado-texto { display: grid; min-width: 0; font-size: 13.5px; }
.ideia-resultado-texto b, .ideia-resultado-texto small { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.ideia-resultado-texto small { color: var(--mudo); }
.ideia-sem-resultado { padding: 8px 10px; }
.chip.ideia-chip { cursor: default; padding-right: 4px; max-width: 100%; }
.chip.ideia-chip small { color: var(--mudo); font-weight: 500; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; max-width: 160px; }
.chip.ideia-chip button { border: 0; background: var(--pendente-claro); color: var(--mudo); width: 22px; height: 22px; border-radius: 50%; display: grid; place-items: center; cursor: pointer; padding: 0; flex-shrink: 0; }
.chip.ideia-chip button:hover { background: var(--recusado-claro); color: var(--recusado); }
.ideia-tags-campo { display: flex; flex-wrap: wrap; gap: 6px; align-items: center; background: var(--branco); border: 1px solid #c4d0c6; border-radius: 10px; padding: 5px 8px; min-height: 40px; }
.ideia-tags-campo:focus-within { border-color: var(--verde); box-shadow: 0 0 0 3px #136a5440; }
.ideia-tags-campo input { border: 0 !important; box-shadow: none !important; flex: 1 1 120px; min-height: 28px; padding: 2px 4px; font-weight: 400; color: var(--tinta); font-size: 14.5px; }
.modal-ideia .modal-rodape { position: sticky; bottom: -22px; background: var(--branco); padding: 12px 0 2px; border-top: 1px solid var(--linha); }

/* --- Enviar --- */
.env-corpo { gap: 16px; }
.env-zona { padding: 34px 16px; cursor: default; }
.env-zona-icone { width: 58px; height: 58px; border-radius: 50%; display: grid; place-items: center; background: var(--branco); color: var(--verde); box-shadow: var(--sombra); }
.env-dica-cmd { display: flex; gap: 6px; align-items: flex-start; margin: 0; }
.env-dica-cmd svg { color: var(--talvez); margin-top: 2px; }
.env-origem { display: flex; flex-wrap: wrap; gap: 4px 6px; align-items: center; margin: -4px 0 0; }
.env-resumo .estat-claro { padding: 14px 16px; }
.env-resumo .estat-claro b { font-size: 32px; letter-spacing: -.5px; }
.env-problemas ul, .env-avisos ul { margin: 8px 0 0; padding-left: 20px; font-size: 13.5px; max-height: 320px; overflow-y: auto; }
.env-avisos { background: var(--aviso-fundo); border: 1px solid #f0dfaa; border-radius: 10px; padding: 10px 14px; }
.env-avisos summary { cursor: pointer; font-weight: 650; font-size: 14px; color: #6b5413; }
.env-legenda { font-weight: 750; font-size: 14.5px; padding: 0; margin-bottom: 8px; color: var(--tinta); }
.env-opcoes { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
.env-opcoes.tres { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.env-opcao { position: relative; display: grid; gap: 2px; padding: 14px 16px 14px 44px; border: 1.5px solid var(--linha); border-radius: 14px; background: var(--branco); cursor: pointer; transition: border-color .15s, background .15s; }
.env-opcao:hover { border-color: #9fbcad; }
.env-opcao input { position: absolute; left: 16px; top: 17px; width: 18px; height: 18px; margin: 0; accent-color: var(--verde); }
.env-opcao b { font-size: 15px; }
.env-opcao span { font-size: 13px; color: var(--mudo); }
.env-opcao:has(input:checked) { border-color: var(--verde); background: var(--verde-claro); box-shadow: 0 0 0 1px var(--verde); }
.env-opcao:has(input:disabled) { opacity: .5; cursor: not-allowed; }
.env-opcao:has(input:focus-visible) { box-shadow: var(--foco); }
.env-largo { grid-column: span 2; }
.env-enviar { padding-top: 6px; border-top: 1px solid var(--linha); }
.env-andamento h2, .env-fim h2 { margin: 0; }
.env-nao-feche { margin: 0; }
.env-numeros { display: flex; flex-wrap: wrap; gap: 4px 16px; align-items: baseline; font-size: 14px; color: var(--mudo); font-variant-numeric: tabular-nums; }
.env-numeros b { font-size: 26px; color: var(--verde-escuro); }
.env-atual { margin: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.env-log summary { cursor: pointer; font-size: 13px; color: var(--mudo); font-weight: 650; }
.env-log ul { margin: 6px 0 0; padding-left: 18px; font-size: 12.5px; color: var(--mudo); max-height: 220px; overflow-y: auto; }
.env-fim-topo { display: flex; align-items: center; gap: 12px; }
.env-fim-topo svg { width: 46px; height: 46px; padding: 10px; border-radius: 50%; }
.env-fim-topo.ok svg { background: var(--aprovado-claro); color: var(--aprovado); }
.env-fim-topo.erro svg { background: var(--talvez-claro); color: var(--talvez); }
.env-historico .lista-meta + .lista-meta { margin-top: -1px; }

/* --- Instruções --- */
.passos-grandes { gap: 0; }
.passos-grandes > li { padding: 4px 0 26px 58px; min-height: 0; }
.passos-grandes > li + li { border-top: 1px solid var(--linha); padding-top: 22px; }
.passos-grandes > li::before { width: 40px; height: 40px; font-size: 18px; top: 0; }
.passos-grandes > li + li::before { top: 18px; }
.passos-grandes > li:last-child { padding-bottom: 4px; }
.passos-grandes h2 { margin: 6px 0 6px; }
.passos-grandes p { margin: 0 0 12px; max-width: 760px; }
.instr-sub { font-size: 13px; text-transform: uppercase; letter-spacing: .8px; color: #536c5e; margin: 6px 0 0; }
.instr-perguntas { margin: 0 0 12px; padding-left: 20px; display: grid; gap: 4px; max-width: 760px; }
.instr-windows { margin: 6px 0 0; max-width: 760px; }
.instr-formatos h3 { margin: 4px 0 0; }
.instr-formatos .selo { justify-self: start; }
.instr-formatos p { margin: 0; }
.instr-guia { grid-template-columns: minmax(0, 1fr) auto; align-items: center; margin-top: 16px; }
.instr-guia h2, .instr-guia p { margin: 0; }
.instr-guia-texto { display: grid; gap: 4px; }
.instr-node { margin-top: 16px; }
.instr-node summary { cursor: pointer; padding: 2px 0; }
.instr-node[open] summary { margin-bottom: 12px; }
.instr-node .pilha > p { margin: 0; }
.instr-codigo { margin: 0; background: #10251e; color: #e9efe9; border-radius: 10px; padding: 12px 14px; overflow-x: auto; font-size: 13px; }
.instr-segredo { margin: 0 0 14px; max-width: 760px; }
.instr-chave { display: flex; gap: 8px; }
.instr-chave input { flex: 1; min-width: 0; background: var(--branco); font-size: 14px; }
.instr-chaves { list-style: none; margin: 0; padding: 0; display: grid; gap: 6px; max-width: 760px; }
.instr-chave-linha { display: flex; justify-content: space-between; align-items: center; gap: 10px; padding: 8px 12px; background: var(--nevoa); border-radius: 10px; }
.instr-chave-info { display: grid; min-width: 0; font-size: 14px; }
.instr-outras { margin-top: 8px; max-width: 760px; }
.instr-outras summary { cursor: pointer; color: var(--mudo); margin-bottom: 6px; }

/* --- Equipe --- */
.eq-tabela select { min-height: 34px; padding-top: 4px; padding-bottom: 4px; }
.eq-inativo td { color: var(--mudo); }
.eq-estado { white-space: nowrap; }
.eq-legenda { font-weight: 750; font-size: 14px; padding: 0; margin-bottom: 6px; }
.eq-resumo { margin: 0; font-size: 14.5px; }

@media (max-width: 1060px) {
  .ideia-grade { grid-template-columns: 1fr; }
  .ideia-comentarios { position: static; max-height: none; }
}
@media (max-width: 860px) {
  .env-opcoes.tres { grid-template-columns: 1fr; }
  .instr-guia { grid-template-columns: 1fr; }
}
@media (max-width: 520px) {
  .ideias-cab .btn { width: 100%; }
  .ideias-barra { padding: 10px; }
  .ideias-barra select { flex-basis: calc(50% - 5px); }
  .env-opcoes { grid-template-columns: 1fr; }
  .env-largo { grid-column: auto; }
  .env-enviar .btn, .env-fim .btn.grande { width: 100%; }
  .ideia-links-edicao li { grid-template-columns: minmax(0, 1fr) auto; }
  .ideia-links-edicao [data-label] { grid-column: 1; grid-row: 2; }
  .ideia-links-edicao [data-testar] { grid-column: 2; grid-row: 2; }
  .ideia-links-edicao [data-remover-link] { grid-column: 2; grid-row: 1; }
  .ideia-link { grid-template-columns: auto minmax(0, 1fr); }
  .ideia-link > .btn { grid-column: 1 / -1; }
  .ideia-acoes-dir { margin-left: 0; }
  .passos-grandes > li { padding-left: 48px; }
  .passos-grandes > li::before { width: 34px; height: 34px; font-size: 16px; }
  .passos-grandes .btn.grande { width: 100%; }
  .instr-chave-linha { flex-wrap: wrap; }
  .modal-ideia .modal-rodape { bottom: -16px; }
}
