/* Ponte Viva: estilos discretos, herdam a fonte do tema. */
:root {
  --pv-verde: #2f6b4f;
  --pv-verde-claro: #e8f1ec;
  --pv-ambar: #b7791f;
  --pv-vermelho: #a63d32;
  --pv-cinza: #6b6b6b;
  --pv-linha: #dcdcdc;
  --pv-fundo: #fafaf7;
}

.pv-caso, .pv-diag, .pv-lista, .pv-filtros, .pv-aviso { max-width: 760px; }

.pv-meta { color: var(--pv-cinza); font-size: .92em; }
.pv-erro { color: var(--pv-vermelho); min-height: 1.2em; }

.pv-etiquetas { margin: .4em 0 1.2em; }
.pv-etiqueta {
  display: inline-block; padding: .15em .7em; margin: 0 .3em .3em 0;
  border-radius: 999px; background: var(--pv-verde-claro); color: var(--pv-verde);
  font-size: .85em; font-weight: 600;
}

.pv-bloco { margin: 0 0 1.2em; padding: 0 0 0 1em; border-left: 3px solid var(--pv-linha); }
.pv-bloco h3 { margin: 0 0 .3em; font-size: 1em; text-transform: uppercase; letter-spacing: .04em; color: var(--pv-cinza); }
.pv-bloco p { margin: 0; }
.pv-destaque { border-left-color: var(--pv-verde); background: var(--pv-fundo); padding: .8em 1em; }
.pv-destaque h3 { color: var(--pv-verde); }

.pv-botao {
  display: inline-block; padding: .6em 1.2em; margin: .3em .4em .3em 0;
  border: 0; border-radius: 6px; background: var(--pv-verde); color: #fff !important;
  text-decoration: none !important; font-weight: 600; cursor: pointer; line-height: 1.3;
  font-family: inherit; font-size: 1rem;
}
.pv-botao:hover { filter: brightness(1.1); }
.pv-botao:disabled { opacity: .6; cursor: wait; }
.pv-botao-sec { background: transparent; color: var(--pv-verde) !important; border: 2px solid var(--pv-verde); }

/* Banco de casos */
.pv-filtros { display: flex; flex-wrap: wrap; gap: .5em; align-items: center; margin-bottom: 1em; }
.pv-filtros input, .pv-filtros select { padding: .45em; border: 1px solid var(--pv-linha); border-radius: 6px; max-width: 100%; }
.pv-filtros input[type="search"] { flex: 1 1 220px; }
.pv-filtros input[type="number"] { width: 7em; }
.pv-contagem { color: var(--pv-cinza); }
.pv-lista { display: grid; gap: .8em; }
.pv-cartao {
  display: block; padding: 1em; border: 1px solid var(--pv-linha); border-radius: 8px;
  text-decoration: none !important; color: inherit !important; background: #fff;
}
.pv-cartao:hover { border-color: var(--pv-verde); }
.pv-cartao strong { display: block; margin: .2em 0; }
.pv-cartao-id { color: var(--pv-verde); font-size: .85em; font-weight: 600; }
.pv-cartao-resumo { color: var(--pv-cinza); font-size: .92em; }

/* Diagnóstico */
.pv-diag textarea { width: 100%; padding: .6em; border: 1px solid var(--pv-linha); border-radius: 6px; margin-bottom: 1em; }
.pv-mov { margin-top: 1.8em; color: var(--pv-verde); }
.pv-pergunta { border: 0; padding: 0; margin: 0 0 1.2em; }
.pv-pergunta legend { font-weight: 600; margin-bottom: .4em; padding: 0; }
.pv-opcao { display: flex; gap: .6em; align-items: flex-start; padding: .45em .6em; border-radius: 6px; cursor: pointer; }
.pv-opcao:hover { background: var(--pv-fundo); }
.pv-opcao input { margin-top: .3em; flex: none; }

.pv-barras { margin: 1em 0 1.6em; }
.pv-barra-linha { display: grid; grid-template-columns: 11em 1fr 6em; gap: .6em; align-items: center; margin-bottom: .4em; }
.pv-barra-trilho { height: .7em; background: #eee; border-radius: 999px; overflow: hidden; }
.pv-barra { display: block; height: 100%; border-radius: 999px; }
.pv-sustentou { background: var(--pv-verde); }
.pv-rangeu { background: var(--pv-ambar); }
.pv-cedeu { background: var(--pv-vermelho); }
.pv-barra-faixa { font-size: .85em; color: var(--pv-cinza); }

/* Histórico */
.pv-tabela { width: 100%; border-collapse: collapse; }
.pv-tabela th, .pv-tabela td { text-align: left; padding: .5em; border-bottom: 1px solid var(--pv-linha); vertical-align: top; }

.pv-aviso { padding: 1.2em; border: 1px solid var(--pv-linha); border-radius: 8px; background: var(--pv-fundo); }

@media (max-width: 560px) {
  .pv-barra-linha { grid-template-columns: 1fr 5em; }
  .pv-barra-nome { grid-column: 1 / -1; }
}

/* Consulta e mensagens */
.pv-consulta, .pv-mensagens { max-width: 760px; }
.pv-atalhos { display: flex; flex-wrap: wrap; gap: .3em 1em; margin-top: .5em; font-size: .92em; }
.pv-grupos { display: flex; flex-wrap: wrap; gap: .4em; }
.pv-grupo {
  padding: .35em .9em; border: 1px solid var(--pv-linha); border-radius: 999px; background: #fff;
  color: inherit; font: inherit; font-size: .9em; cursor: pointer;
}
.pv-grupo.pv-ativo { background: var(--pv-verde); border-color: var(--pv-verde); color: #fff; }
.pv-mensagem { padding: 1em 1.2em; border: 1px solid var(--pv-linha); border-radius: 8px; background: #fff; scroll-margin-top: 80px; }
.pv-mensagem h3 { margin: .2em 0 .6em; }
.pv-mensagem.pv-realce { border-color: var(--pv-verde); box-shadow: 0 0 0 2px var(--pv-verde-claro); }
.pv-rotulo { margin: .8em 0 .2em; font-weight: 600; color: var(--pv-cinza); }
.pv-texto-msg { margin: .4em 0 1em; }
.pv-texto-msg blockquote { margin: 0 0 .3em; padding: .8em 1em; border-left: 3px solid var(--pv-verde); background: var(--pv-fundo); }
.pv-texto-msg blockquote p:last-child { margin-bottom: 0; }
.pv-copiar { font-size: .9rem; padding: .35em .9em; }
[hidden] { display: none !important; }
.pv-texto-msg blockquote p:first-child { margin-top: 0; }
.pv-texto-msg blockquote { font-size: 1em; font-style: normal; }
@media (max-width: 560px) {
  .pv-mensagem { padding: .8em; }
  .pv-texto-msg blockquote { padding: .6em .8em; }
}

/* PQRS */
.pv-diag label.pv-rotulo { display: block; }
.pv-letra {
  display: inline-flex; align-items: center; justify-content: center; width: 1.7em; height: 1.7em;
  border-radius: 50%; background: var(--pv-verde); color: #fff; font-weight: 700; margin-right: .2em;
}
.pv-aspecto { padding: .8em 1em; border: 1px solid var(--pv-linha); border-radius: 8px; }
.pv-opcoes-linha { display: flex; flex-wrap: wrap; gap: .2em 1em; }
.pv-aspecto details { margin-top: .4em; }
.pv-aspecto summary { cursor: pointer; color: var(--pv-verde); font-weight: 600; }
.pv-aspecto blockquote, .pv-resultado blockquote {
  margin: .5em 0; padding: .6em .9em; border-left: 3px solid var(--pv-verde); background: var(--pv-fundo); font-style: normal; font-size: 1em;
}
.pv-alertas .pv-bloco { border-left-color: var(--pv-ambar); background: #fdf8ee; padding: .7em 1em; }
.pv-alertas .pv-bloco h3 { color: var(--pv-ambar); }
.pv-alertas ul { margin: .3em 0 0 1.1em; }
.pv-resultado { margin-top: 1.2em; }
.pv-diag textarea { font-family: inherit; font-size: 1em; line-height: 1.5; }
.pv-aspecto legend { float: left; width: 100%; margin-bottom: .5em; }
.pv-aspecto legend + * { clear: both; }
.pv-diag textarea { box-sizing: border-box; }

/* Calendário */
.pv-cal { max-width: 820px; }
.pv-abas { display: flex; gap: .3em; border-bottom: 2px solid var(--pv-linha); margin-bottom: 1.2em; flex-wrap: wrap; }
.pv-aba { padding: .55em 1em; text-decoration: none !important; color: var(--pv-cinza) !important; font-weight: 600; border-bottom: 3px solid transparent; margin-bottom: -2px; }
.pv-aba.pv-ativo { color: var(--pv-verde) !important; border-bottom-color: var(--pv-verde); }
.pv-cal-grupo, .pv-cal-mes { margin: 1.6em 0 .6em; color: var(--pv-verde); }
.pv-cal-item { padding: 1em 1.2em; border: 1px solid var(--pv-linha); border-left: 4px solid var(--pv-verde); border-radius: 8px; background: #fff; }
.pv-cal-item h3 { margin: .25em 0 .2em; font-size: 1.1em; }
.pv-cal-item.pv-feito { opacity: .6; border-left-color: var(--pv-linha); }
.pv-cal-item.pv-feito h3 { text-decoration: line-through; }
.pv-cal-item .pv-cal-feito[aria-pressed="true"] { background: var(--pv-verde-claro); }
.pv-cal-topo { display: flex; flex-wrap: wrap; gap: .4em; align-items: center; }
.pv-cal-data { font-weight: 700; color: var(--pv-verde); }
.pv-etiqueta.pv-estimada { background: #fdf3e1; color: var(--pv-ambar); }
.pv-cal-texto p { margin: .5em 0; }
.pv-cal-item details summary { cursor: pointer; color: var(--pv-verde); font-weight: 600; margin: .3em 0; }
.pv-so-essenciais { display: inline-flex; gap: .3em; align-items: center; margin-left: .6em; font-size: .9em; }
.pv-cal-campo input[type="date"] { padding: .4em; border: 1px solid var(--pv-linha); border-radius: 6px; font: inherit; }
.pv-cal-multi { display: flex; flex-wrap: wrap; gap: .4em; }
.pv-cal-campo { padding: .8em 1em; border: 1px solid var(--pv-linha); border-radius: 8px; }
.pv-cal-campo legend { font-weight: 700; padding: 0 .3em; }
.pv-cal-anos { font-size: .92em; }
.pv-cal-grade { display: grid; grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); gap: .8em; }
.pv-cal-grade .pv-cal-campo { margin: 0; padding: .6em .9em; }
.pv-cal-grade .pv-cal-largo { grid-column: 1 / -1; }
.pv-cal-campo .pv-meta { margin: .3em 0 0; font-size: .85em; }
.pv-etiqueta.pv-segmento { background: #e9eef7; color: #2f4f7f; }
/* Estados da ação */
.pv-link { background: none; border: 0; padding: .3em .2em; color: var(--pv-cinza); text-decoration: underline; cursor: pointer; font: inherit; font-size: .92em; }
.pv-cal-acoes { display: flex; flex-wrap: wrap; gap: .3em .6em; align-items: center; margin-top: .6em; }
.pv-cal-acoes .pv-botao { margin: 0; }
.pv-cal-opcoes-nao { display: inline-flex; flex-wrap: wrap; gap: .3em; align-items: center; }
.pv-cal-opcoes-nao[hidden] { display: none !important; }
.pv-cal-situacao { font-weight: 600; color: var(--pv-verde); }
.pv-cal-situacao:empty { display: none; }
.pv-cal-acoes[data-estado=""] .pv-cal-desfazer { display: none; }
.pv-cal-acoes[data-estado="feito"] .pv-cal-feito, .pv-cal-acoes[data-estado="feito"] .pv-cal-nao,
.pv-cal-acoes[data-estado="pular"] .pv-cal-feito, .pv-cal-acoes[data-estado="pular"] .pv-cal-nao { display: none; }
.pv-cal-item.pv-pulada { opacity: .6; border-left-color: var(--pv-linha); border-left-style: dashed; }
.pv-cal-item.pv-pulada .pv-cal-situacao { color: var(--pv-cinza); }
.pv-cal-ocultas li { margin-bottom: .4em; }
.pv-cal-nao[hidden] { display: none !important; }
/* Ações da escola */
.pv-etiqueta.pv-propria { background: #f1e9f7; color: #5b3a7a; }
.pv-campo-largo { width: 100%; box-sizing: border-box; padding: .5em; border: 1px solid var(--pv-linha); border-radius: 6px; font: inherit; }
.pv-prop-form .pv-cal-campo { margin-bottom: 1em; }
.pv-prop-form .pv-prop-marco, .pv-prop-form .pv-prop-data { margin: .2em 0 .8em 1.8em; }
.pv-inline { display: inline; }
/* Lembrete para a equipe */
.pv-cal-lembrete { margin-top: .8em; padding: .8em 1em; background: var(--pv-fundo); border-radius: 8px; }
.pv-cal-lembrete textarea { margin-top: .3em; line-height: 1.5; }
.pv-cal-lembrete-botoes { display: flex; flex-wrap: wrap; gap: .4em; margin: .5em 0 0; }
.pv-cal-lembrete-botoes .pv-botao { margin: 0; }
/* Mudar a data */
.pv-etiqueta.pv-ajustada { background: #e6f2f4; color: #24646f; }
.pv-cal-mudar-bloco { margin-top: .8em; padding: .8em 1em; background: var(--pv-fundo); border-radius: 8px; }
.pv-cal-mudar-bloco input[type="date"] { padding: .4em; border: 1px solid var(--pv-linha); border-radius: 6px; font: inherit; margin-left: .4em; }
/* Semana, responsável e frente */
.pv-semana { padding: 1em 1.2em; margin-bottom: 1.4em; border-radius: 10px; background: var(--pv-verde-claro); }
.pv-semana h2 { margin: 0 0 .3em; color: var(--pv-verde); font-size: 1.3em; }
.pv-semana-lista { list-style: none; margin: .6em 0 0; padding: 0; }
.pv-semana-lista li { display: flex; gap: .6em; padding: .45em 0; border-top: 1px solid rgba(47,107,79,.15); }
.pv-semana-lista li.pv-feito { opacity: .6; }
.pv-semana-lista li.pv-feito strong { text-decoration: line-through; }
.pv-semana-check { color: var(--pv-verde); font-weight: 700; width: 1.2em; flex: none; }
.pv-cal-resp { margin: .2em 0 .4em; font-size: .92em; }
.pv-cal-resp input { padding: .35em .5em; border: 1px solid var(--pv-linha); border-radius: 6px; font: inherit; width: 14em; max-width: 100%; }
.pv-cal-resp .pv-link { padding-left: 0; }
.pv-etiqueta.pv-frente { background: #fff1d6; color: #8a5a00; }
.pv-cal-frente-aviso { border-left-color: #c98a1b; background: #fffaf0; padding: .6em 1em; }
.pv-cal-frente-aviso p { margin: 0; }
.pv-cal-filtro-resp { margin-left: .3em; padding: .25em; border: 1px solid var(--pv-linha); border-radius: 6px; font: inherit; }
/* Downloads */
.pv-downloads { max-width: 820px; }
.pv-dl-item { display: flex; flex-direction: column; gap: .35em; }
.pv-dl-item .pv-botao { margin: .3em 0 0; }
.pv-dl-desc { line-height: 1.5; }
/* Verificadores: frase a frase */
.pv-resumo-frases { list-style: none; margin: .4em 0 1em; padding: .7em 1em; background: var(--pv-fundo); border-radius: 8px; display: grid; gap: .25em; }
.pv-resumo-frases li::before { display: inline-block; width: 1.3em; font-weight: 700; }
.pv-resumo-frases li.pv-ok::before { content: "✓"; color: var(--pv-verde); }
.pv-resumo-frases li.pv-sug::before { content: "?"; color: var(--pv-ambar); }
.pv-resumo-frases li.pv-falta::before { content: "✗"; color: var(--pv-vermelho); }
.pv-resumo-frases li.pv-falta { color: var(--pv-vermelho); }
.pv-frases { display: grid; gap: .6em; margin-bottom: 1.2em; }
.pv-frase { position: relative; padding: .7em .9em .7em 2.6em; border: 1px solid var(--pv-linha); border-radius: 8px; background: #fff; }
.pv-frase-alerta { border-left: 3px solid var(--pv-ambar); }
.pv-frase-n { position: absolute; left: .8em; top: .75em; font-weight: 700; color: var(--pv-cinza); font-size: .9em; }
.pv-frase-texto { margin: 0 0 .5em; line-height: 1.5; }
.pv-marca { background: #fdecc8; color: inherit; padding: 0 .15em; border-radius: 3px; }
.pv-chips { display: flex; flex-wrap: wrap; gap: .35em; }
.pv-chip { padding: .25em .7em; border: 1px solid var(--pv-linha); border-radius: 999px; background: #fff; color: var(--pv-cinza); font: inherit; font-size: .85em; cursor: pointer; }
.pv-chip-sugerida { border: 1px dashed var(--pv-ambar); color: #8a5a00; background: #fffaf0; }
.pv-chip-confirmada { border-color: var(--pv-verde); background: var(--pv-verde); color: #fff; }
.pv-limites { margin: .2em 0 1em; padding: .6em .9em; border: 1px solid var(--pv-linha); border-radius: 8px; background: var(--pv-fundo); }
.pv-limites summary { cursor: pointer; font-weight: 600; color: var(--pv-verde); }
.pv-limites ul { margin: .6em 0 0 1.1em; }
.pv-limites li { margin-bottom: .35em; }
.pv-alertas .pv-meta { margin: .5em 0 0; font-size: .85em; }
/* Leitura rápida */
.pv-honesto { padding: .6em .9em; border-left: 3px solid var(--pv-ambar); background: #fffaf0; font-size: .95em; }
.pv-leitura { margin: 1em 0; }
.pv-leitura-texto { padding: .9em 1em; border: 1px solid var(--pv-linha); border-radius: 8px; background: #fff; white-space: pre-wrap; line-height: 1.6; }
.pv-marca { background: #fdecc8; color: inherit; padding: 0 .15em; border-radius: 3px; border-bottom: 2px solid var(--pv-ambar); cursor: help; }
.pv-marca[data-cat="sensiveis"] { background: #e9eef7; border-bottom-color: #2f4f7f; }
.pv-achados { list-style: none; margin: .4em 0 0; padding: 0; display: grid; gap: .45em; }
.pv-achados li { padding-left: 1.5em; position: relative; line-height: 1.5; }
.pv-achados li::before { position: absolute; left: 0; font-weight: 700; }
.pv-achados li.pv-ok::before { content: "✓"; color: var(--pv-verde); }
.pv-achados li.pv-falta::before { content: "?"; color: var(--pv-ambar); }
.pv-quadro .pv-destaque { background: #fff; }
.pv-nao-ve { margin: 1em 0; padding: .7em 1em; border: 1px dashed var(--pv-linha); border-radius: 8px; }
.pv-nao-ve h3 { margin: 0 0 .3em; font-size: 1em; color: var(--pv-cinza); text-transform: uppercase; letter-spacing: .04em; }
.pv-nao-ve ul { margin: 0 0 0 1.1em; }
.pv-trechos { list-style: none; margin: .2em 0 0; padding: 0; font-size: .95em; }
.pv-trechos q { quotes: "“" "”"; }
.pv-trechos b { color: var(--pv-verde); }
.pv-jeito { display: block; margin-top: .2em; font-size: .95em; }
.pv-jeito q { quotes: "“" "”"; color: var(--pv-verde); }
.pv-marca { position: relative; }
.pv-motivo { position: absolute; left: 0; top: 100%; z-index: 5; margin-top: .3em; padding: .4em .7em; background: #333; color: #fff; font-size: .8rem; line-height: 1.3; border-radius: 6px; white-space: normal; min-width: 14em; max-width: 22em; box-shadow: 0 2px 8px rgba(0,0,0,.25); }

/* ============================================================ desenho da visita */
.pv-des-intro { color: var(--pv-cinza); }
.pv-des-sub { color: var(--pv-cinza); font-size: .92em; margin: .2em 0 .8em; }
.pv-des-vazio { color: var(--pv-cinza); font-style: italic; font-size: .95em; }
.pv-des-cat { color: var(--pv-cinza); font-size: .8em; font-weight: 500; margin-left: .4em; }
.pv-des h3 small { font-weight: 400; color: var(--pv-cinza); font-size: .75em; }
.pv-des-busca { width: 100%; box-sizing: border-box; padding: .65em .8em; border: 1px solid var(--pv-linha); border-radius: 6px; font: inherit; margin: .8em 0 .4em; }
.pv-des-sugestoes { display: flex; flex-direction: column; gap: .3em; }
.pv-des-sug { text-align: left; background: #fff; border: 1px solid var(--pv-linha); border-radius: 8px; padding: .55em .8em; cursor: pointer; font: inherit; line-height: 1.35; }
.pv-des-sug:hover { border-color: var(--pv-verde); background: #f3f8f5; }
.pv-des-sug small { color: var(--pv-cinza); }
.pv-des-todas { margin-top: .8em; }
.pv-des-todas summary { cursor: pointer; color: var(--pv-verde); font-weight: 600; }
.pv-des-grupo h4 { margin: .9em 0 .35em; font-size: .9em; color: var(--pv-cinza); text-transform: uppercase; letter-spacing: .03em; }
.pv-des-escolhidas { margin-bottom: .3em; min-height: 1.6em; }
.pv-des-item { margin-bottom: .8em; }
.pv-des-textos { margin-top: .6em; display: flex; flex-direction: column; gap: .6em; }
.pv-des-texto { background: #f6f8fa; border-left: 3px solid var(--pv-verde); padding: .55em .8em; border-radius: 0 6px 6px 0; }
.pv-des-texto p { margin: .25em 0 .4em; }
.pv-des-rotulo { font-size: .8em; color: var(--pv-verde); font-weight: 600; }
.pv-des-texto-acoes { display: flex; gap: .4em; flex-wrap: wrap; }
.pv-des-editor textarea { width: 100%; box-sizing: border-box; font: inherit; padding: .5em; border: 1px solid var(--pv-linha); border-radius: 6px; margin-bottom: .4em; }
.pv-des-resto { margin-top: 1.2em; padding-top: .8em; border-top: 1px dashed var(--pv-linha); }
.pv-des-resto h4, .pv-des-msg h4 { margin: 0 0 .2em; }
.pv-des-resto-lista { display: flex; flex-direction: column; gap: .3em; }
.pv-des-resto-item summary { cursor: pointer; list-style: none; display: flex; align-items: center; gap: .5em; }
.pv-des-resto-item summary::-webkit-details-marker { display: none; }
.pv-des-resto-item[open] summary .pv-chip { border-color: var(--pv-verde); color: var(--pv-verde); }
.pv-des-resto-corpo { padding: .4em 0 .6em .4em; display: flex; flex-direction: column; gap: .5em; }
.pv-des-dica { color: #8a5a00; font-size: .8em; }
.pv-des-texto-q { border-left-color: var(--pv-ambar); }
.pv-des-texto-q .pv-des-rotulo { color: #8a5a00; }
.pv-des-msg { margin-top: 1.2em; padding-top: .8em; border-top: 1px dashed var(--pv-linha); }
.pv-des-msg textarea { width: 100%; box-sizing: border-box; font: inherit; font-size: .95em; padding: .6em; border: 1px solid var(--pv-linha); border-radius: 6px; background: #fff; }
.pv-des-falta summary { cursor: pointer; font-weight: 600; color: #8a5a00; }
.pv-des-falta ul { margin: .4em 0 0 1.2em; }
.pv-des-gravar-linha { display: flex; gap: 1em; align-items: flex-end; flex-wrap: wrap; }
.pv-des-gravar-linha label { display: flex; flex-direction: column; gap: .25em; font-size: .9em; color: var(--pv-cinza); }
.pv-des-gravar-linha input { padding: .5em .7em; border: 1px solid var(--pv-linha); border-radius: 6px; font: inherit; }
.pv-des-gravar-linha .pv-botao { margin: 0; }
.pv-des-oferta { display: grid; grid-template-columns: auto 1fr minmax(160px, 220px); gap: .6em; align-items: start; padding: .5em 0; border-bottom: 1px solid var(--pv-linha); cursor: pointer; }
.pv-des-oferta:last-child { border-bottom: 0; }
.pv-des-oferta input[type=checkbox] { margin-top: .35em; width: 1.1em; height: 1.1em; }
.pv-des-oferta small { color: var(--pv-cinza); font-weight: 500; margin-left: .3em; }
.pv-des-nome { padding: .4em .6em; border: 1px solid var(--pv-linha); border-radius: 6px; font: inherit; font-size: .9em; width: 100%; box-sizing: border-box; }
.pv-des-salvar { display: flex; align-items: center; gap: 1em; position: sticky; bottom: 0; background: #fff; padding: .7em 0; border-top: 1px solid var(--pv-linha); }
.pv-des-salvar .pv-botao { margin: 0; }
.pv-des-contagem { color: var(--pv-cinza); font-size: .9em; }
.pv-des-tabela { width: 100%; border-collapse: collapse; font-size: .92em; }
.pv-des-tabela th, .pv-des-tabela td { text-align: left; padding: .5em .6em; border-bottom: 1px solid var(--pv-linha); vertical-align: top; }
.pv-des-tabela th { color: var(--pv-cinza); font-size: .85em; text-transform: uppercase; letter-spacing: .03em; }
.pv-des-tabela select { font: inherit; padding: .25em .4em; }
.pv-des-filtros { display: flex; gap: 1em; align-items: center; flex-wrap: wrap; margin-bottom: 1em; }
.pv-des-filtros label { display: flex; gap: .4em; align-items: center; color: var(--pv-cinza); font-size: .92em; }
.pv-des-filtros select { font: inherit; padding: .3em .5em; }
.pv-des-filtros .pv-botao { margin: 0 0 0 auto; }
.pv-des-grafico { margin: 1.4em 0; }
.pv-des-grafico h3 { margin-bottom: .1em; }
.pv-des-barras { display: flex; flex-direction: column; gap: .4em; }
.pv-des-barra { display: grid; grid-template-columns: minmax(140px, 30%) 1fr auto; gap: .6em; align-items: center; font-size: .92em; }
.pv-des-barra-rot { text-align: right; color: #333; }
.pv-des-barra-trilho { display: flex; height: 18px; background: #f0f3f6; border-radius: 4px; overflow: hidden; }
.pv-des-barra-trilho span { display: block; height: 100%; }
.pv-des-barra-n { color: var(--pv-cinza); font-variant-numeric: tabular-nums; min-width: 2em; }
.pv-des-cor-EI { background: #c98a1b; } .pv-des-cor-F1 { background: #2f6b4f; } .pv-des-cor-F2 { background: #4a6fa5; } .pv-des-cor-EM { background: #7a5c99; } .pv-des-cor-ok { background: var(--pv-verde); }
.pv-des-legenda { font-size: .85em; color: var(--pv-cinza); display: flex; gap: 1em; flex-wrap: wrap; }
.pv-des-cor { display: inline-block; width: .9em; height: .9em; border-radius: 2px; vertical-align: -1px; margin-right: .3em; }
.pv-des-linhas { width: 100%; height: auto; max-height: 260px; }
.pv-des-pares { margin: .3em 0 0 1.2em; }
.pv-des-pares li { margin: .25em 0; }
.pv-des-pares small { color: var(--pv-cinza); }
.pv-des-rodape { color: var(--pv-cinza); font-size: .8em; border-top: 1px solid var(--pv-linha); padding-top: .6em; margin-top: 1.5em; }
.pv-des-aviso { position: fixed; left: 50%; bottom: 1.5em; transform: translate(-50%, 20px); background: var(--pv-verde); color: #fff; padding: .7em 1.2em; border-radius: 8px; opacity: 0; pointer-events: none; transition: all .25s; z-index: 99; font-size: .95em; }
.pv-des-aviso.pv-visivel { opacity: 1; transform: translate(-50%, 0); }
.pv-des-aviso.pv-erro { background: #b5543c; }
@media (max-width: 640px) {
	.pv-des-oferta { grid-template-columns: auto 1fr; }
	.pv-des-oferta .pv-des-nome { grid-column: 2; }
	.pv-des-barra { grid-template-columns: 1fr; gap: .15em; }
	.pv-des-barra-rot { text-align: left; }
}
@media print {
	.pv-des .pv-abas, .pv-des-filtros, .pv-des-aviso { display: none !important; }
	.pv-des-rel { font-size: 11pt; }
	.pv-des-grafico { break-inside: avoid; }
}

/* escuta: as quatro portas e a confirmação */
.pv-des-lembrete { display: flex; justify-content: space-between; align-items: center; gap: 1em; flex-wrap: wrap; }
.pv-des-lembrete p { margin: 0; }
.pv-des-portas { display: grid; grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); gap: .8em; }
.pv-des-porta { border: 1px solid var(--pv-linha); border-radius: 10px; padding: .8em .9em; background: #fff; border-top: 4px solid #2f5f9e; display: flex; flex-direction: column; gap: .35em; }
.pv-des-porta-vermelho { border-top-color: #c9524a; }
.pv-des-porta-verde { border-top-color: #2f8f7a; }
.pv-des-porta-cab { display: flex; align-items: center; gap: .5em; }
.pv-des-porta-n { display: inline-flex; width: 1.6em; height: 1.6em; border-radius: 50%; background: #2f5f9e; color: #fff; font-weight: 700; font-size: .85em; align-items: center; justify-content: center; }
.pv-des-porta-vermelho .pv-des-porta-n { background: #c9524a; }
.pv-des-porta-verde .pv-des-porta-n { background: #2f8f7a; }
.pv-des-porta-titulo { font-size: .78em; font-weight: 700; letter-spacing: .04em; text-transform: uppercase; color: #2f5f9e; }
.pv-des-porta-vermelho .pv-des-porta-titulo { color: #c9524a; }
.pv-des-porta-verde .pv-des-porta-titulo { color: #2f8f7a; }
.pv-des-porta-sub { margin: 0; color: var(--pv-cinza); font-size: .88em; }
.pv-des-porta-pergunta { margin: 0; font-size: 1.12em; font-weight: 700; line-height: 1.3; color: #1d2b44; }
.pv-des-porta-mais summary { cursor: pointer; font-size: .8em; font-weight: 700; letter-spacing: .04em; text-transform: uppercase; color: var(--pv-cinza); }
.pv-des-porta-mais ul { margin: .3em 0 0 1.1em; padding: 0; font-size: .92em; color: #333; }
.pv-des-porta-mais li { margin: .2em 0; }
.pv-des-nota { width: 100%; box-sizing: border-box; font: inherit; font-size: .92em; padding: .5em .6em; border: 1px dashed var(--pv-linha); border-radius: 6px; margin-top: auto; background: #fbfcfd; }
.pv-des-nota:focus { border-style: solid; border-color: var(--pv-verde); outline: none; }
.pv-des-sug-caixa { margin-top: .8em; padding: .7em .9em; background: #fffaf0; border: 1px dashed var(--pv-ambar); border-radius: 8px; }
.pv-des-sug-caixa .pv-chip small { color: #8a5a00; font-weight: 400; }
.pv-des-confirme { border-left: 4px solid var(--pv-verde); }
.pv-des-frase { margin: .4em 0 .8em; padding: .8em 1em; background: #1d2b44; color: #fff; border-radius: 8px; font-size: 1.15em; font-weight: 600; line-height: 1.4; }
.pv-des-confirme .pv-des-texto-acoes { align-items: center; }
.pv-des-confirme .pv-botao { margin: 0; }

/* ============================================================ modo "na visita" (tablet) */
.pv-des-modos { margin-left: auto; display: inline-flex; border: 1px solid var(--pv-linha); border-radius: 999px; overflow: hidden; align-self: center; }
.pv-des-modo { font: inherit; font-size: .85em; font-weight: 600; padding: .35em .9em; border: 0; background: #fff; color: var(--pv-cinza); cursor: pointer; }
.pv-des-modo.pv-ativo { background: var(--pv-verde); color: #fff; }
.pv-des-modo-visita { font-size: 1.08em; }
.pv-vis { display: flex; flex-direction: column; min-height: 70vh; }
.pv-vis-cab { display: flex; justify-content: space-between; align-items: center; gap: 1em; color: var(--pv-cinza); font-size: .85em; margin-bottom: .8em; flex-wrap: wrap; }
.pv-vis-passo { font-weight: 700; letter-spacing: .04em; text-transform: uppercase; }
.pv-vis-ctx { display: flex; gap: .7em; flex-wrap: wrap; align-items: center; }
.pv-vis-ctx span { white-space: nowrap; }
.pv-vis-ponto { display: inline-block; width: .7em; height: .7em; border-radius: 50%; margin-right: .3em; vertical-align: 0; }
.pv-vis-corpo { flex: 1; padding-bottom: 5.5em; }
.pv-vis-titulo { font-size: 1.5em; margin: .2em 0 .4em; line-height: 1.25; }
.pv-vis-grade { display: grid; grid-template-columns: repeat(2, 1fr); gap: .8em; margin-top: 1em; }
.pv-vis-opcao { font: inherit; font-size: 1.15em; font-weight: 600; padding: 1.1em .8em; border: 2px solid var(--pv-linha); border-radius: 12px; background: #fff; cursor: pointer; min-height: 4.5em; }
.pv-vis-opcao-on, .pv-vis-opcao:active { border-color: var(--pv-verde); background: #eef6f1; }
.pv-vis-porta { border-radius: 12px; border: 1px solid var(--pv-linha); border-top: 6px solid #2f5f9e; padding: 1em 1.1em; background: #fff; }
.pv-vis-porta.pv-des-porta-vermelho { border-top-color: #c9524a; }
.pv-vis-porta.pv-des-porta-verde { border-top-color: #2f8f7a; }
.pv-vis-pergunta { font-size: 1.7em; font-weight: 700; line-height: 1.2; margin: .3em 0 .5em; color: #1d2b44; }
.pv-vis-aprofundar { margin: 0 0 0 1.1em; padding: 0; color: #444; font-size: 1em; }
.pv-vis-aprofundar li { margin: .25em 0; }
.pv-vis-nota-caixa { margin-top: .9em; }
.pv-vis-nota { width: 100%; box-sizing: border-box; font: inherit; font-size: 1.1em; padding: .7em .8em; border: 2px dashed var(--pv-linha); border-radius: 10px; background: #fbfcfd; }
.pv-vis-nota:focus { border-style: solid; border-color: var(--pv-verde); outline: none; }
.pv-vis-nota-acoes { display: flex; justify-content: flex-end; margin-top: .4em; }
.pv-des-mic { font: inherit; font-size: .95em; padding: .5em .9em; border-radius: 999px; border: 1px solid var(--pv-linha); background: #fff; cursor: pointer; }
.pv-des-mic-on { background: #c9524a; color: #fff; border-color: #c9524a; }
.pv-vis-sug { margin-top: .8em; }
.pv-vis-chip, .pv-vis-chip-p { font-size: 1em; padding: .55em 1em; min-height: 2.6em; }
.pv-vis-marcadas { margin-top: 1em; }
.pv-vis-escolhidas { margin-bottom: .8em; }
.pv-vis-busca-caixa { margin-top: .8em; }
.pv-vis-busca-caixa .pv-des-busca { font-size: 1.05em; padding: .8em; }
.pv-vis-confirme { margin-top: 1.2em; }
.pv-vis-confirme .pv-des-frase { font-size: 1.3em; }
.pv-vis-rodape { position: sticky; bottom: 0; display: flex; justify-content: space-between; align-items: center; gap: .6em; padding: .7em 0; background: #fff; border-top: 1px solid var(--pv-linha); z-index: 5; flex-wrap: wrap; }
.pv-vis-esq, .pv-vis-dir { display: flex; gap: .5em; flex-wrap: wrap; }
.pv-vis-btn { margin: 0 !important; font-size: 1em; padding: .65em 1.1em; min-height: 2.8em; }
.pv-vis-rodape .pv-botao-sec { padding: .55em .9em; font-size: .92em; }
.pv-vis-legenda { display: flex; gap: 1em; flex-wrap: wrap; color: #333; font-size: .95em; margin: 0 0 .8em; }
.pv-vis-mapa { display: grid; grid-template-columns: repeat(2, 1fr); gap: .8em; }
.pv-vis-tile { position: relative; text-align: left; font: inherit; background: #fff; border: 1px solid var(--pv-linha); border-top: 6px solid var(--pv-verde); border-radius: 12px; padding: .9em 1em 1em; cursor: pointer; display: flex; flex-direction: column; gap: .25em; min-height: 8.5em; }
.pv-vis-tile:active { background: #f3f8f5; }
.pv-vis-tile-n { position: absolute; top: .6em; right: .8em; font-size: .8em; font-weight: 700; color: var(--pv-cinza); }
.pv-vis-tile-ico { font-size: 1.9em; line-height: 1; }
.pv-vis-tile-nome { font-weight: 700; font-size: 1.1em; line-height: 1.2; color: #1d2b44; }
.pv-vis-tile-gancho { font-size: 1em; color: #333; line-height: 1.3; }
.pv-vis-tile-pontos { margin-top: auto; padding-top: .4em; }
.pv-vis-tile:first-child { grid-column: 1 / -1; min-height: 7em; }
.pv-vis-tile:first-child .pv-vis-tile-nome { font-size: 1.3em; }
.pv-vis-tile:first-child .pv-vis-tile-gancho { font-size: 1.1em; }
.pv-vis-resto { margin-top: 1.2em; }
.pv-vis-falta { margin-top: 1em; color: #8a5a00; }
.pv-vis-falta summary { cursor: pointer; font-weight: 600; }
.pv-vis-gravado { margin: 1em 0 0; color: var(--pv-verde); font-weight: 600; }
.pv-vis-ov { position: fixed; inset: 0; background: rgba(20, 30, 45, .55); z-index: 1000; display: flex; align-items: flex-end; justify-content: center; }
.pv-vis-ov-caixa { position: relative; background: #fff; width: 100%; max-width: 760px; max-height: 88vh; overflow: auto; border-radius: 16px 16px 0 0; padding: 1.2em 1.2em 1.6em; box-sizing: border-box; }
.pv-vis-ov-fechar { position: absolute; top: .5em; right: .6em; font: inherit; font-size: 1.6em; line-height: 1; background: none; border: 0; cursor: pointer; color: var(--pv-cinza); padding: .2em .4em; }
.pv-vis-ov-titulo { margin: .1em 0 .2em; font-size: 1.4em; }
.pv-vis-ov-texto { font-size: 1.12em; line-height: 1.5; }
@media (min-width: 900px) { .pv-vis-ov { align-items: center; } .pv-vis-ov-caixa { border-radius: 16px; } .pv-vis-mapa { grid-template-columns: repeat(3, 1fr); } .pv-vis-tile:first-child { grid-column: 1 / -1; } }
@media (max-width: 480px) { .pv-vis-grade, .pv-vis-mapa { grid-template-columns: 1fr; } .pv-vis-pergunta { font-size: 1.4em; } }

/* escuta em uma tela: portas como cola */
.pv-vis-portas { display: grid; grid-template-columns: repeat(2, 1fr); gap: .6em; margin-bottom: .9em; }
.pv-vis-cola { border: 1px solid var(--pv-linha); border-left: 5px solid #2f5f9e; border-radius: 10px; background: #fff; padding: .6em .8em; }
.pv-vis-cola.pv-des-porta-vermelho { border-left-color: #c9524a; }
.pv-vis-cola.pv-des-porta-verde { border-left-color: #2f8f7a; }
.pv-vis-cola-chave { background: #fffaf3; }
.pv-vis-cola summary { cursor: pointer; list-style: none; display: flex; flex-direction: column; gap: .2em; }
.pv-vis-cola summary::-webkit-details-marker { display: none; }
.pv-vis-cola .pv-des-porta-titulo { font-size: .7em; }
.pv-vis-cola-pergunta { font-weight: 700; font-size: 1.05em; line-height: 1.25; color: #1d2b44; }
.pv-vis-cola .pv-vis-aprofundar { margin-top: .5em; font-size: .92em; }
@media (max-width: 480px) { .pv-vis-portas { grid-template-columns: 1fr; } }
.pv-vis-cola-mais { align-self: flex-end; font-size: .78em; color: var(--pv-verde); font-weight: 600; border: 1px solid var(--pv-verde); border-radius: 999px; padding: .15em .6em; margin-top: .3em; }
.pv-vis-cola-mais b { font-size: 1.1em; }
.pv-vis-cola[open] .pv-vis-cola-mais { color: var(--pv-cinza); border-color: var(--pv-linha); }
.pv-vis-cola[open] .pv-vis-cola-mais b { display: none; }
.pv-vis-cola[open] .pv-vis-cola-mais::before { content: '– '; }
.pv-vis-cola summary:focus { outline: none; } .pv-vis-cola summary:focus-visible { outline: 2px solid var(--pv-verde); border-radius: 6px; }

/* nomes da visita */
.pv-des-nomes { display: grid; grid-template-columns: 1fr auto 1fr; gap: .6em; align-items: end; margin: .3em 0 1.2em; }
.pv-des-nomes label { display: flex; flex-direction: column; gap: .25em; font-size: .85em; color: var(--pv-cinza); min-width: 0; }
.pv-des-nomes input, .pv-des-nomes select { font: inherit; font-size: 1.1em; padding: .6em .7em; border: 1px solid var(--pv-linha); border-radius: 8px; min-width: 0; width: 100%; box-sizing: border-box; }
.pv-des-nomes p { grid-column: 1 / -1; margin: 0; }
.pv-vis-quem { font-weight: 700; color: #1d2b44; }
@media (max-width: 480px) { .pv-des-nomes { grid-template-columns: 1fr 1fr; } .pv-des-nomes label:first-child { grid-column: 1 / -1; } }

/* biblioteca de mensagens: nomes, lista dobrável, ações */
.pv-msg-campos { background: #f6f8fa; border: 1px solid var(--pv-linha); border-radius: 10px; padding: .8em 1em; margin: .6em 0 1em; }
.pv-msg-campos-titulo { margin: 0 0 .5em; font-weight: 700; }
.pv-msg-campos-titulo small { font-weight: 400; color: var(--pv-cinza); }
.pv-msg-campos-grade { display: grid; grid-template-columns: repeat(auto-fit, minmax(140px, 1fr)); gap: .5em; }
.pv-msg-campos label { display: flex; flex-direction: column; gap: .2em; font-size: .82em; color: var(--pv-cinza); }
.pv-msg-campos input { font: inherit; font-size: 1.05em; padding: .45em .6em; border: 1px solid var(--pv-linha); border-radius: 6px; width: 100%; box-sizing: border-box; }
.pv-mensagem { border: 1px solid var(--pv-linha); border-radius: 10px; margin-bottom: .6em; background: #fff; }
.pv-mensagem summary { cursor: pointer; list-style: none; padding: .8em 1em; display: flex; flex-direction: column; gap: .15em; }
.pv-mensagem summary::-webkit-details-marker { display: none; }
.pv-mensagem summary::after { content: '+'; position: absolute; right: 1em; top: .7em; color: var(--pv-verde); font-weight: 700; font-size: 1.2em; }
.pv-mensagem { position: relative; }
.pv-mensagem[open] summary::after { content: '–'; }
.pv-msg-titulo { font-weight: 700; font-size: 1.05em; color: #1d2b44; }
.pv-msg-quando { color: var(--pv-cinza); font-size: .9em; }
.pv-msg-corpo { padding: 0 1em 1em; }
.pv-msg-texto { margin: .3em 0 .4em; padding: .7em 1em; background: #f6f8fa; border-left: 3px solid var(--pv-verde); border-radius: 0 6px 6px 0; }
.pv-msg-texto p { margin: 0 0 .5em; } .pv-msg-texto p:last-child { margin-bottom: 0; }
mark.pv-msg-nome { background: #e2f1e8; color: #1f4d36; padding: 0 .15em; border-radius: 3px; }
mark.pv-msg-falta { background: #fff1c9; color: #7a5200; padding: 0 .15em; border-radius: 3px; }
.pv-msg-acoes { display: flex; gap: .4em; flex-wrap: wrap; align-items: center; margin: 0 0 .8em; }
.pv-msg-acoes .pv-botao { margin: 0; }
.pv-mensagem summary:focus { outline: none; } .pv-mensagem summary:focus-visible { outline: 2px solid var(--pv-verde); }
.pv-msg-selo { display: inline-block; font-size: .75em; font-weight: 700; color: var(--pv-verde); text-transform: uppercase; letter-spacing: .04em; margin-top: .4em; }
.pv-msg-editor { margin: .4em 0 .8em; padding: .8em; background: #fffdf5; border: 1px dashed var(--pv-ambar); border-radius: 8px; }
.pv-msg-editor textarea, .pv-msg-editor input, .pv-msg-editor select { width: 100%; box-sizing: border-box; font: inherit; padding: .5em .6em; border: 1px solid var(--pv-linha); border-radius: 6px; margin-bottom: .5em; }
.pv-msg-editor label { display: block; font-size: .85em; color: var(--pv-cinza); }
.pv-msg-nova { margin-top: 1.2em; padding-top: 1em; border-top: 1px solid var(--pv-linha); }
.pv-msg-nova .pv-botao { margin: 0 0 .4em; }
.pv-msg-propria { border-left: 4px solid var(--pv-verde); }
.pv-msg-versoes { display: flex; gap: .4em; margin: .2em 0 .5em; }
.pv-msg-erro { background: #fff6f4; border-left: 3px solid #c9524a; padding: .5em .8em; border-radius: 0 6px 6px 0; }

/* ============================================================ retornos prometidos */
.pv-ret-topo { display: flex; justify-content: space-between; align-items: center; gap: 1em; flex-wrap: wrap; margin-bottom: 1em; }
.pv-ret-topo .pv-botao { margin: 0; }
.pv-ret-numeros { display: flex; gap: 1.2em; flex-wrap: wrap; color: var(--pv-cinza); }
.pv-ret-n b { font-size: 1.4em; color: #1d2b44; margin-right: .2em; }
.pv-ret-n-atraso b { color: #c9524a; }
.pv-ret-bloco { margin-bottom: 1.2em; }
.pv-ret-bloco h3 { margin: 0 0 .5em; font-size: 1em; text-transform: uppercase; letter-spacing: .04em; color: var(--pv-cinza); }
.pv-ret-atrasados h3 { color: #c9524a; }
.pv-ret-hoje h3 { color: var(--pv-verde); }
.pv-ret-lista { display: flex; flex-direction: column; gap: .5em; }
.pv-ret-item { display: grid; grid-template-columns: 4.2em 1fr auto; gap: .8em; align-items: center; background: #fff; border: 1px solid var(--pv-linha); border-radius: 10px; padding: .7em .9em; }
.pv-ret-item-atraso { border-color: #e7b1a9; background: #fff8f6; }
.pv-ret-item-feito { opacity: .7; }
.pv-ret-quando { text-align: center; line-height: 1.1; }
.pv-ret-quando b { display: block; font-size: 1.15em; color: #1d2b44; }
.pv-ret-quando small { color: var(--pv-cinza); font-size: .8em; }
.pv-ret-assunto { font-weight: 700; color: #1d2b44; }
.pv-ret-quem { color: #333; font-size: .95em; }
.pv-ret-meta { color: var(--pv-cinza); font-size: .82em; }
.pv-ret-acoes { display: flex; gap: .35em; flex-wrap: wrap; justify-content: flex-end; }
.pv-ret-btn { margin: 0 !important; padding: .45em .9em; }
.pv-ret-grade { display: grid; grid-template-columns: repeat(auto-fit, minmax(170px, 1fr)); gap: .6em; }
.pv-ret-grade label { display: flex; flex-direction: column; gap: .25em; font-size: .85em; color: var(--pv-cinza); }
.pv-ret-grade label:first-child { grid-column: 1 / -1; }
.pv-ret-grade input, .pv-ret-grade select { font: inherit; font-size: 1em; padding: .5em .6em; border: 1px solid var(--pv-linha); border-radius: 6px; width: 100%; box-sizing: border-box; }
.pv-ret-form .pv-botao { margin: 0; }
@media (max-width: 560px) { .pv-ret-item { grid-template-columns: 3.6em 1fr; } .pv-ret-acoes { grid-column: 1 / -1; justify-content: flex-start; } }
.pv-cal-retornos { background: #fff8f6; border-left: 3px solid #c9524a; padding: .5em .8em; border-radius: 0 6px 6px 0; }
.pv-ret-aviso { color: #c9524a; }

/* ============================================================ consulta por problema */
.pv-con-busca { font-size: 1.05em; padding: .8em; margin: .4em 0 1em; }
.pv-con-res h3, .pv-con-comuns h3 { margin: 1em 0 .4em; font-size: 1em; text-transform: uppercase; letter-spacing: .04em; color: var(--pv-cinza); }
.pv-con-lista { display: flex; flex-direction: column; gap: .5em; }
.pv-con-item { position: relative; border: 1px solid var(--pv-linha); border-radius: 10px; background: #fff; }
.pv-con-portal { border-left: 4px solid var(--pv-ambar); }
.pv-con-minha { border-left: 4px solid var(--pv-verde); }
.pv-con-item summary { cursor: pointer; list-style: none; padding: .75em 2.2em .75em 1em; display: flex; flex-direction: column; gap: .15em; }
.pv-con-item summary::-webkit-details-marker { display: none; }
.pv-con-item summary::after { content: '+'; position: absolute; right: 1em; top: .6em; color: var(--pv-verde); font-weight: 700; font-size: 1.2em; }
.pv-con-item[open] summary::after { content: '–'; }
.pv-con-item summary:focus { outline: none; }
.pv-con-titulo { font-weight: 700; font-size: 1.05em; color: #1d2b44; }
.pv-con-corpo { padding: 0 1em 1em; }
.pv-con-bloco { margin-top: .6em; }
.pv-con-bloco h4 { margin: 0 0 .25em; font-size: .8em; text-transform: uppercase; letter-spacing: .04em; color: var(--pv-cinza); }
.pv-con-passo { background: #f3f8f5; border-left: 3px solid var(--pv-verde); padding: .6em .9em; border-radius: 0 6px 6px 0; }
.pv-con-passo h4 { color: var(--pv-verde); }
.pv-con-passo p { margin: 0; font-size: 1.05em; }
.pv-con-bloco ul { margin: .2em 0 0 1.2em; padding: 0; }
.pv-con-bloco li { margin: .2em 0; }
.pv-con-ferr { border-color: var(--pv-verde); color: var(--pv-verde) !important; font-weight: 600; }
.pv-con-todas { margin-top: 1em; }
.pv-con-todas > summary { cursor: pointer; color: var(--pv-verde); font-weight: 600; margin-bottom: .5em; }

/* Detalhes confirmados da prateleira */
.pv-des-oferta-editor{margin:8px 0 24px 30px;padding:16px 20px;background:#f6f8f5;border:1px solid var(--pv-linha);border-radius:10px;font-size:18px}.pv-des-oferta-editor[hidden]{display:none!important}.pv-des-oferta-editor summary{cursor:pointer;color:var(--pv-verde);font-size:18px;font-weight:700;line-height:1.5}.pv-des-oferta-campos{display:grid;gap:18px;margin:20px 0}.pv-des-oferta-campos>label{display:flex;flex-direction:column;gap:8px;font-size:18px;font-weight:650}.pv-des-oferta-campos textarea{width:100%;box-sizing:border-box;min-height:95px;padding:12px;border:1px solid var(--pv-linha);border-radius:7px;background:white;font:400 18px/1.6 "Open Sans",Arial,sans-serif;resize:vertical}.pv-des-oferta-segmentos{border:1px solid var(--pv-linha);border-radius:7px;padding:15px;margin:0}.pv-des-oferta-segmentos legend{font-weight:650;font-size:18px;padding:0 5px}.pv-des-oferta-segmentos label{display:flex;align-items:center;gap:9px;margin:8px 0;font-size:18px}.pv-des-oferta-segmentos input{width:18px!important;height:18px!important;flex-shrink:0}.pv-des-oferta-status{font-size:18px;line-height:1.6;color:var(--pv-verde)}.pv-des-detalhes-leitura{border:1px solid var(--pv-linha);border-left:4px solid var(--pv-verde);border-radius:8px;padding:20px;margin:20px 0;background:#f5f8f5;font-size:18px;line-height:1.65;overflow-wrap:anywhere}.pv-des-detalhes-leitura h4{font-size:20px;margin:0 0 12px}.pv-des-detalhes-leitura dl{margin:0}.pv-des-detalhes-leitura dt{font-weight:700;margin-top:14px}.pv-des-detalhes-leitura dd{margin:4px 0 0;white-space:pre-wrap}.pv-des-detalhes-leitura .pv-des-nao-informado{color:#6a7170}.pv-des-oferta-editor .pv-des-sub,.pv-des-detalhes-leitura .pv-des-sub{font-size:18px}.pv-des-oferta-editor .pv-botao{font-size:18px}.pv-des-oferta-campos textarea:focus-visible,.pv-des-oferta-editor summary:focus-visible{outline:3px solid var(--pv-verde);outline-offset:3px}@media(max-width:600px){.pv-des-oferta-editor{margin-left:0;padding:16px}.pv-des-detalhes-leitura{padding:16px}.pv-des-salvar{flex-wrap:wrap;gap:8px}.pv-des-oferta-txt,.pv-des-oferta-item{min-width:0}.pv-des-oferta-editor .pv-botao{max-width:100%;white-space:normal}}

/* Roteiro conectado do atendimento */
.pv-ia-fio{background:#f6f4ef;border-left:4px solid var(--pv-verde)}.pv-ia-discurso{border:2px solid var(--pv-verde)}.pv-ia-discurso .pv-ia-fala p{margin:0 0 18px;white-space:pre-wrap}.pv-ia-discurso .pv-ia-fala p:last-child{margin-bottom:0}.pv-ia-conduzir{margin-top:36px}.pv-ia-origem{margin:18px 0;padding:14px;border:1px solid var(--pv-linha);border-radius:8px}.pv-ia-origem summary{cursor:pointer;color:var(--pv-verde);font-weight:650}.pv-ia-origem summary:focus-visible{outline:3px solid #bd795b;outline-offset:3px}

/* Preenchimento da prateleira: texto e ícone, sem depender só de cor. */
.pv-des [hidden]{display:none!important}.pv-des-progresso{display:inline-block;padding:5px 12px;border-radius:18px;background:#f2f1ed;color:#555;font-size:15px;font-weight:650;margin:8px 0}.pv-des-progresso-completo{background:#e5f2e8;color:#255a38}.pv-des-progresso-parcial{background:#fff1dd;color:#70491b}.pv-des-filtros-prateleira{padding:18px;background:#f3f6f2;border-radius:10px;margin:20px 0}.pv-des-filtros-prateleira select{display:block;max-width:100%;width:100%;font:inherit;padding:10px;margin-top:8px}.pv-des-oferta-campos .pv-des-na-opcao{display:flex;align-items:center;gap:8px;font-size:15px;font-weight:400;margin-top:6px}.pv-des-na-opcao input{flex:0 0 auto}.pv-des-campo{min-width:0}.pv-des-campo textarea:disabled{background:#eee;color:#666}
/* Atendimento com IA e ofertas próprias */
.pv-des-criar-titulo{font-size:20px;font-weight:700;color:var(--pv-verde);cursor:pointer}.pv-des-nova .pv-des-oferta-campos input[type=text]{font:inherit;font-size:18px;padding:12px;border:1px solid var(--pv-linha);border-radius:7px;width:100%;box-sizing:border-box}.pv-des-nova .pv-des-sub{font-size:18px}.pv-ia{font-size:18px;line-height:1.65;max-width:950px;margin:auto}.pv-ia h2{font-size:30px;line-height:1.3;margin:12px 0 20px}.pv-ia h3{font-size:22px;line-height:1.4}.pv-ia .pv-des-sub{font-size:18px}.pv-ia-etiqueta{text-transform:uppercase;font-size:18px;letter-spacing:1px;color:var(--pv-verde);font-weight:700}.pv-ia-etapas{list-style:none;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;padding:0;margin:25px 0 10px}.pv-ia-etapas li{font-size:18px;padding:10px 0;border-bottom:3px solid var(--pv-linha);min-width:0}.pv-ia-etapas span{display:inline-grid;place-items:center;width:27px;height:27px;border-radius:50%;background:#e7eee7;margin-right:5px}.pv-ia-etapas [aria-current=step]{border-color:var(--pv-verde);color:var(--pv-verde);font-weight:700}.pv-ia-etapas [aria-current=step] span{background:var(--pv-verde);color:white}.pv-ia-painel{border:1px solid var(--pv-linha);border-radius:12px;padding:26px;margin:22px 0;background:white;overflow-wrap:anywhere}.pv-ia label{display:block;font-size:18px;font-weight:650;margin:18px 0 8px}.pv-ia textarea,.pv-ia select{box-sizing:border-box;width:100%;font:400 18px/1.6 "Open Sans",Arial,sans-serif;padding:12px;border:1px solid var(--pv-linha);border-radius:7px;margin:8px 0;background:white;color:#20383e}.pv-ia textarea{min-height:110px;resize:vertical}.pv-ia-checklabel{display:flex!important;gap:10px;align-items:flex-start;font-weight:400!important}.pv-ia-checklabel input{width:20px;height:20px;flex-shrink:0;margin-top:5px}.pv-ia-acoes{display:flex;gap:12px;flex-wrap:wrap;margin:22px 0 8px}.pv-ia-acoes .pv-botao{font-size:18px;white-space:normal;max-width:100%}.pv-ia blockquote{border-left:3px solid #9ebbb0;padding-left:16px;margin:14px 0;white-space:pre-wrap}.pv-ia-aviso{background:#fff0e5;border-left:4px solid #a55b3e;padding:16px;font-size:18px;white-space:pre-wrap}.pv-ia-fala{padding:18px;background:#edf4ef;border-radius:8px}.pv-ia-fala p{margin-bottom:0}.pv-ia-condicoes{padding:18px;background:#f6f4ef;border-radius:8px}.pv-ia-condicoes dt{font-weight:700;margin-top:12px}.pv-ia-condicoes dt:first-child{margin-top:0}.pv-ia-condicoes dd{margin:5px 0 0;white-space:pre-wrap}.pv-ia-processando{padding:30px;background:#f3f6f2;border-radius:12px;margin:22px 0}.pv-ia button:disabled{opacity:.5;cursor:default}.pv-ia textarea:focus-visible,.pv-ia button:focus-visible{outline:3px solid #bd795b;outline-offset:3px}@media(max-width:700px){.pv-ia-etapas{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px 18px}.pv-ia-painel{padding:18px}.pv-ia-acoes .pv-botao{width:100%}.pv-des-modos{flex-wrap:wrap}}
