/* Peças do painel (editor, fichas, listas) em cima do sistema do SO Operations. */
.ql-toolbar.ql-snow button,
.ql-toolbar.ql-snow .ql-picker-label {
  background: transparent;
  color: var(--ink);
  min-height: 28px;
  width: 28px;
  padding: 0;
  border-radius: 8px;
  box-shadow: none;
}
.ql-toolbar.ql-snow button:hover,
.ql-toolbar.ql-snow .ql-picker-label:hover { background: var(--pill); }
.kanban button, .col-menu button, .adm-ficha button.icon-btn { min-height: 0; }
.canvas .wrap > h1:first-child { margin-bottom: 0.4rem; }
.adm-cabeca { display: flex; align-items: flex-start; justify-content: space-between; gap: 1rem 1.5rem; margin-bottom: 2.2rem; flex-wrap: wrap; }
.adm-cabeca h1 { margin: 0; }
.adm-meta, .adm-nota { color: var(--muted); font-size: 1rem; margin-top: 0.45rem; max-width: 46rem; }
.adm-nota { margin-bottom: 1rem; }
.btn--ghost, a.btn--ghost { background: var(--pill); color: var(--ink); border: 0; }
.btn--ghost:hover, a.btn--ghost:hover { background: #e7e7e4; transform: none; }
.btn--perigo { background: var(--late-bg); color: var(--late); }
.btn--sm { min-height: 36px; padding: 0 0.9rem; font-size: 0.9rem; }
.adm-lista { list-style: none; display: flex; flex-direction: column; gap: 0; margin: 0 0 2rem; padding: 0; border-top: 1px solid var(--line); }
.adm-lista li { display: flex; align-items: center; gap: 0.8rem; flex-wrap: wrap; background: transparent; border: 0; border-bottom: 1px solid var(--line); border-radius: 0; padding: 1rem 0.2rem; }
.adm-tabela { width: 100%; border-collapse: collapse; background: transparent; border: 0; border-radius: 0; }
.adm-tabela th { background: transparent; color: var(--muted); font-size: 0.78rem; letter-spacing: 0.1em; text-transform: uppercase; font-weight: 500; }
.adm-tabela th, .adm-tabela td { border-bottom: 1px solid var(--line); }
.selo { display: inline-flex; align-items: center; min-height: 28px; padding: 0 0.8rem; border: 0; border-radius: 999px; background: var(--pill); color: var(--ink-2); letter-spacing: 0; text-transform: none; font-size: 0.86rem; }
.selo--pub { background: var(--ok-bg); color: var(--ok); }
.selo--rascunho { background: var(--pill); color: var(--muted); }
.selo--pendente { background: var(--risk-bg); color: var(--risk); }
.selo--cancelado { background: var(--late-bg); color: var(--late); }
.vazio { background: transparent; border: 0; border-radius: 0; padding: 1.2rem 0; text-align: left; color: var(--muted); }
.aviso { background: var(--surface); border: 1px solid var(--line); border-left: 0; border-radius: 14px; box-shadow: var(--lift); }
.aviso--erro { background: var(--late-bg); color: var(--late); border-color: transparent; }
.canvas .form, .auth .form { background: transparent; border: 0; border-radius: 0; padding: 0; display: grid; gap: 1rem; max-width: 34rem; }
.canvas form[method="get"] { display: flex; gap: 0.6rem; align-items: center; flex-wrap: wrap; margin: 0 0 1.4rem; }
.canvas form[method="get"] input[type="search"] { max-width: 22rem; }

.adm-ficha-pop{width:min(640px,100%)}
.adm-ficha{padding:22px 22px 40px}
.adm-ficha .form{max-width:none;border:0;padding:0;background:transparent}
.adm-ficha-topo{
  display:flex;align-items:flex-start;justify-content:space-between;gap:12px;
  margin-bottom:18px;padding-bottom:14px;border-bottom:1px solid var(--line)
}
.adm-ficha-topo h2{margin:0;font-size:20px;letter-spacing:-.4px;font-weight:500}
.adm-ficha-acoes{display:flex;gap:8px;flex-shrink:0;flex-wrap:wrap}
.adm-titulo-cel a{font-weight:500;text-decoration:none}
.adm-titulo-cel a:hover{text-decoration:underline}
.adm-ordem{
  color:inherit;text-decoration:none;font:inherit;letter-spacing:inherit;text-transform:inherit;
  display:inline-flex;align-items:center;gap:.3rem
}
.adm-ordem.is-on{color:var(--ink)}
.adm-rolagem{overflow-x:auto}
.adm-posts{width:max(100%,760px)}
.adm-posts .adm-capa-col,.adm-posts .adm-capa-cel{width:72px}
.adm-posts .adm-titulo-cel{width:220px;min-width:220px;max-width:220px;overflow-wrap:normal;word-break:normal}
.adm-posts .adm-titulo-cel a{
  display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;line-clamp:2;
  overflow:hidden;max-width:220px
}
.adm-posts .adm-thumb,.adm-posts .adm-thumb--vazia{width:56px;height:56px;border-radius:8px}
.adm-posts .adm-editoria-cel{min-width:8.5rem;overflow-wrap:normal;word-break:normal}
.adm-posts .adm-status-cel{min-width:6.5rem;white-space:nowrap;overflow-wrap:normal}
.adm-posts .adm-data-cel{min-width:5.2rem;white-space:nowrap;overflow-wrap:normal}
.adm-posts .adm-destaque-cel{width:6.4rem;min-width:6.4rem;white-space:nowrap}
.adm-posts .adm-destaque-cel form{margin:0}
.adm-posts .acoes{width:3.2rem}
.liga-lista{border:0;background:transparent;padding:0;cursor:pointer;line-height:0}
.liga-lista .liga-trilho{display:block}
.liga-lista.is-on .liga-trilho{background:var(--ink)}
.liga-lista.is-on .liga-trilho::after{transform:translateX(18px)}
.liga-lista:focus-visible .liga-trilho{outline:2px solid var(--ink);outline-offset:2px}
.adm-slug{display:block;font-size:12px;color:var(--faint);margin-top:3px}

.selo{display:inline-block;font-size:11px;letter-spacing:.06em;text-transform:uppercase;
  padding:4px 10px;border-radius:var(--r-pill);border:1px solid var(--line)}
.selo--pub{color:var(--ok);border-color:color-mix(in srgb,var(--ok) 40%,transparent)}
.selo--pendente{color:#b45f06;border-color:color-mix(in srgb,#b45f06 40%,transparent)}
.selo--cancelado{color:var(--late);border-color:color-mix(in srgb,var(--late) 40%,transparent)}
.selo--rascunho{color:var(--muted)}

/* formulário */
.form{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:clamp(18px,3vw,28px)}
.campo{margin-bottom:22px}
.campo > label{display:block;font-size:13px;font-weight:500;margin-bottom:7px}
.campo .dica{font-size:12px;color:var(--muted);margin-top:6px}
.campo input[type=text],.campo input[type=file],.campo input[type=number],.campo input[type=email],.campo input[type=tel],.campo textarea,.campo select{
  width:100%;border:1.4px solid var(--line);border-radius:var(--radius);background:var(--surface);
  color:var(--ink);font:400 15px var(--sans);padding:11px 14px;transition:border-color .18s}
.campo input:focus,.campo textarea:focus,.campo select:focus{outline:none;border-color:var(--ink)}
.campo textarea{min-height:90px;resize:vertical}
.form-acoes{display:flex;gap:10px;flex-wrap:wrap;align-items:center;margin-top:28px;
  border-top:1px solid var(--line);padding-top:22px}
.form-acoes .espaco{margin-left:auto}
.form-acoes--cabeca{margin:0;border:0;padding:0}

.adm-lista{list-style:none;display:flex;flex-direction:column;gap:8px;margin-bottom:28px}
.adm-lista li{
  display:flex;align-items:center;gap:12px;flex-wrap:wrap;
  background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:12px 16px
}
.adm-lista code{font-size:12px;color:var(--muted)}
.adm-lista form{margin-left:auto}
.adm-lista form.adm-cat-edit{margin-left:0}
.adm-lista-form{margin-bottom:28px}
.adm-lista-form .adm-lista{margin-bottom:16px}
.adm-check{display:flex;align-items:center;flex:none}
.adm-check input{width:16px;height:16px;accent-color:var(--ink)}
.adm-lista .btn--sm{margin-left:auto}
.adm-token{
  margin:18px 0 24px;padding:16px;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);max-width:42rem
}
.adm-token input{
  width:100%;margin:10px 0;font:13px ui-monospace,Menlo,monospace;padding:10px 12px
}
.adm-cat-edit{
  display:flex;align-items:center;flex-wrap:wrap;gap:10px;flex:1;min-width:0;max-width:100%;margin-left:0
}
.adm-cat-edit input[type="text"]{
  flex:1;min-width:120px;margin:0;font:600 15px var(--sans);padding:8px 10px
}
.adm-cat-visivel{display:flex;align-items:center;gap:6px;font-size:13px;white-space:nowrap;color:var(--muted)}
.adm-capa-form{display:flex;align-items:center;flex-wrap:wrap;gap:8px;margin-left:auto;max-width:100%}
.adm-capa-form input[type="file"]{max-width:220px;font-size:12px}
.adm-cat-capa{width:48px;height:48px;object-fit:cover;border-radius:10px;flex:none;background:var(--ph,#ededed)}
.adm-cat-capa--vazia{display:block}

.lista-campos{display:flex;flex-direction:column;gap:8px;align-items:flex-start}
.lista-item{display:flex;gap:8px;align-items:center;width:100%}
.lista-item input{flex:1;width:auto;min-width:0;border:1.4px solid var(--line);border-radius:var(--radius);
  background:var(--surface);color:var(--ink);font:400 15px var(--sans);padding:11px 14px}
.campo .lista-item input{width:auto}
.lista-item input:focus{outline:none;border-color:var(--ink)}
.lista-campos [data-adicionar]{margin-top:4px}

/* editor */
#editor{background:var(--surface);border-radius:0 0 var(--radius) var(--radius);min-height:380px}
.ql-toolbar.ql-snow{border-color:var(--line);border-radius:var(--radius) var(--radius) 0 0}
.ql-container.ql-snow{border-color:var(--line);border-radius:0 0 var(--radius) var(--radius);font-family:var(--sans);font-size:15px}
.ql-editor{min-height:380px}
.visually-hidden{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}

.aviso{background:var(--surface);border:1px solid var(--line);border-left:3px solid var(--ink);
  border-radius:var(--radius);padding:14px 18px;margin-bottom:22px;font-size:14px}
.aviso--erro{border-left-color:var(--late)}
.aviso pre{
  margin:10px 0 0;padding:10px 12px;overflow:auto;white-space:pre-wrap;word-break:break-word;
  background:var(--panel,#f4f4f4);border-radius:8px;font:12px/1.45 ui-monospace,monospace
}
.vazio{background:var(--surface);border:1px dashed var(--line);border-radius:var(--radius);
  padding:40px;text-align:center;color:var(--muted)}
.capa-atual{max-width:280px;border-radius:var(--radius);display:block;margin-bottom:10px}

/* miniatura da capa na listagem */
.adm-capa-col{width:96px}
.adm-capa-cel{width:96px;padding-right:0}
.adm-thumb{
  width:80px;height:50px;object-fit:cover;display:block;
  border-radius:6px;background:var(--soft);border:1px solid var(--line);
}
.adm-thumb--logo{object-fit:contain;background:#fff}
.adm-marca{display:inline-flex;align-items:center;gap:8px}
.adm-marca img{width:144px;height:auto;object-fit:contain}
.adm-marca span{font-size:12px}
.guia-subcategorias label{display:flex;align-items:center;gap:8px}
.guia-subcategorias input[type="checkbox"]{width:auto}
.guia-subcategorias [hidden]{display:none}
.adm-thumb--vazia{background:var(--ph,#ededed);border:0}

/* busca */
.adm-busca{display:flex;gap:8px;margin-bottom:22px;max-width:560px;align-items:center;flex-wrap:wrap}
.adm-busca input{
  flex:1;min-width:0;border:1.4px solid var(--line);border-radius:var(--r-pill);
  background:var(--surface);color:var(--ink);font:400 15px var(--sans);padding:11px 18px;
  transition:border-color .18s;
}
.adm-busca input:focus{outline:none;border-color:var(--ink)}
.adm-busca--guia{max-width:none}
.adm-busca select{
  border:1.4px solid var(--line);border-radius:var(--r-pill);background:var(--surface);
  color:var(--ink);font:400 14px var(--sans);padding:10px 14px;max-width:220px
}
.adm-th-ord{color:inherit;text-decoration:none;white-space:nowrap}
.adm-th-ord:hover{color:var(--ink)}
.adm-th-ord.is-on{color:var(--ink);font-weight:600}

/* sentinela do scroll infinito */
.adm-mais{display:flex;justify-content:center;padding:26px 0 8px}
.adm-mais[hidden]{display:none}

/* ── CRM ─────────────────────────────────────────────────────────────── */

.crm-acoes{display:flex;gap:8px;flex-wrap:wrap}

/* alternador Lista/Kanban */
.crm-visao{display:flex;gap:6px;margin-bottom:18px}
.crm-visao a,.crm-visao span{
  padding:7px 16px;border-radius:var(--r-pill);font-size:13px;
  color:var(--muted);text-decoration:none;border:1.4px solid var(--line);
}
.crm-visao span{background:var(--ink);color:var(--on-ink);border-color:var(--ink)}

/* funil de contagens */
.crm-funil{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:22px}
.crm-funil a{
  display:inline-flex;align-items:center;gap:6px;font-size:13px;
  padding:7px 13px;border:1.4px solid var(--line);border-radius:var(--r-pill);
  color:var(--muted);text-decoration:none;background:var(--surface);
}
.crm-funil a b{color:var(--ink);font-weight:600}
.crm-funil a i{width:8px;height:8px;border-radius:50%;display:inline-block}
.crm-funil a.is-on{border-color:var(--ink);color:var(--ink)}

/* etiqueta da etapa (lista) */
.crm-etiqueta{font-size:12px;font-weight:600;letter-spacing:.02em}

/* troca de etapa inline na lista */
.crm-inline{display:flex;gap:6px;align-items:center}
.crm-inline .crm-etapa{
  border:1.4px solid var(--line);border-radius:var(--radius);background:var(--surface);
  color:var(--ink);font:400 13px var(--sans);padding:7px 10px;
}
.js .crm-submit{display:none}
/* Cores das etapas. A CSP do site bloqueia style inline, então a cor da fase
   anda junto com o dado (data-cor) e cai no CSS, nunca em atributo style. */
[data-cor="novo"]{--cor:#2563eb}
[data-cor="contatado"]{--cor:#b45f06}
[data-cor="proposta"]{--cor:#7c3aed}
[data-cor="ganho"]{--cor:#1f9e4c}
[data-cor="perdido"]{--cor:#8d8d8d}
.crm-funil a i,.crm-coluna-topo h2 i{background:var(--cor,currentColor)}
.crm-prazo{
  font-size:12px;font-weight:600;letter-spacing:.02em;white-space:nowrap;
  color:var(--cor,var(--ink));
}
.crm-anotacao{max-width:260px}

/* kanban — rolagem horizontal com colunas largas; no mobile cada coluna vira
   um "card" do carousel (a próxima aparece 10% para dar continuidade). */
.crm-kanban{display:flex;gap:0.9rem;align-items:flex-start;overflow-x:auto;padding:0 0 1.2rem;scrollbar-width:thin}
.crm-coluna{
  width:312px;flex:0 0 312px;min-height:14rem;background:var(--soft);
  border:0;border-radius:18px;padding:0.6rem;display:flex;flex-direction:column;
}
@media (max-width:760px){
  .crm-kanban{
    /* carousel: uma coluna por vez + o começo da seguinte */
    scroll-snap-type:x mandatory;
  }
  .crm-coluna{
    /* width:90% da área visível: sobra ~10% para a coluna seguinte, dando
       a sensação de continuidade do carousel */
    flex:0 0 auto;width:90%;
    min-width:0;
    scroll-snap-align:start;
  }
}
.crm-coluna.is-sobre{outline:2px dashed var(--line-2);outline-offset:-4px}
.crm-coluna-topo{
  display:flex;align-items:center;gap:0.45rem;
  padding:0.35rem 0.35rem 0.65rem 0.45rem;border:0;
}
.crm-coluna-topo h2{flex:0 1 auto;min-width:0;margin:0;padding:0;font-family:var(--sans);font-size:1.02rem;font-weight:600;letter-spacing:0;text-transform:none;display:flex;align-items:center;gap:0.45rem;overflow:hidden}
.crm-coluna-topo h2 i{width:0.55rem;height:0.55rem;border-radius:50%;background:var(--cor,var(--ink));display:block;flex:none}
.crm-coluna-contagem{margin-left:auto}
.crm-coluna-contagem{display:flex;align-items:baseline;gap:0.45rem;color:var(--muted);font-size:0.88rem}
.crm-coluna-contagem b{font-weight:500;font-variant-numeric:tabular-nums;color:var(--muted)}
.crm-coluna-cartoes{display:flex;flex-direction:column;gap:0.55rem;padding:0;min-height:8rem}
.crm-card{
  background:var(--surface);border:1px solid var(--line);border-radius:14px;
  padding:0.9rem 1rem 0.85rem;cursor:grab;
  box-shadow:0 1px 2px rgba(20,20,18,0.03);
  /* Sem isso o arrasto começa "selecionando texto" em vez de pegar o card:
     o mousedown+move sobre um trecho de texto é interpretado como seleção
     até o browser aceitar o drag. O card inteiro é non-selectable e os links
     de dentro não puxam um arrasto próprio (ver `-webkit-user-drag`). */
  user-select:none;-webkit-user-select:none;
}
.crm-card a{cursor:pointer;-webkit-user-drag:none}
.crm-card.is-arrastando{opacity:.4;transform:rotate(1deg)}
.crm-card:hover{border-color:var(--line-2)}
.crm-card-nome{font-size:0.99rem;font-weight:500;line-height:1.4;margin:0}
.crm-card-nome a{text-decoration:none}
.crm-card-nome a:hover{text-decoration:underline}
.crm-card-meta{font-size:12px;color:var(--muted)}
.crm-card .crm-prazo{margin-top:7px;font-size:11px}
.crm-card-anotacao{
  font-size:12px;color:var(--muted);margin-top:6px;line-height:1.45;
}
.crm-card-fio{display:flex;gap:10px;margin-top:9px;font-size:12px}
.crm-card-fio a{color:var(--ink);text-decoration:none;border-bottom:1px solid var(--line)}
.crm-card-fio a:hover{border-color:var(--ink)}
.crm-coluna-vazia{
  margin:0.4rem 0.3rem;text-align:left;color:var(--muted);font-size:0.9rem;
  border:0;padding:0.4rem 0.2rem;
}
.crm-coluna-cartoes:has(.crm-coluna-vazia):empty{display:none}

/* ficha do cliente */
.crm-ficha-numeros{
  display:flex;gap:18px;flex-wrap:wrap;margin:-8px 0 8px;
  font-size:13px;color:var(--muted);
}
.crm-ficha-lista{display:flex;flex-direction:column;gap:18px;margin-top:10px}
.crm-ficha-item{
  background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:18px;
}
.crm-linha-titulo{display:flex;gap:10px;align-items:baseline;margin-bottom:12px}
.crm-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:12px 16px}
.campo--g,.crm-grid .campo--g{grid-column:1 / -1}
.crm-grid .campo{margin-bottom:0}
.crm-grid .campo > span{display:block;font-size:12px;font-weight:600;margin-bottom:6px}
.crm-grid input,.crm-grid select,.crm-grid textarea{
  width:100%;border:1.4px solid var(--line);border-radius:var(--radius);background:var(--surface);
  color:var(--ink);font:400 14px var(--sans);padding:9px 12px;
}
.crm-grid textarea{min-height:72px;resize:vertical}
.crm-grid input:focus,.crm-grid select:focus,.crm-grid textarea:focus{outline:none;border-color:var(--ink)}

/* valor em potencial: linha do topo do card e soma no topo da coluna */
.crm-card-valor{
  font-size:12px;font-weight:700;letter-spacing:.02em;
  margin:0 0 6px;color:var(--cor,var(--ink));
}
.crm-coluna-contagem{display:flex;gap:10px;align-items:baseline}
.crm-coluna-soma{font-size:12px;font-weight:700;color:var(--cor,var(--ink))}

/* botão WhatsApp como ícone (whatsapp.svg) */
.crm-zap{
  display:inline-flex;align-items:center;justify-content:center;
  width:30px;height:30px;border-radius:50%;background:#25d366;
  transition:transform .12s ease;
}
.crm-zap:hover{transform:scale(1.07)}
.crm-zap img{width:16px;height:16px;display:block}

/* corzinha de etapa no popover */
.crm-ponto{width:8px;height:8px;border-radius:50%;background:var(--cor,var(--ink));display:inline-block}

/* popover nativo: a ficha entra deslizando da direita */
.crm-popover{
  position:fixed;inset-block:0;inset-inline-start:auto;inset-inline-end:0;
  width:min(420px,100%);height:100dvh;max-height:100dvh;
  margin:0;padding:0;overflow-y:auto;
  background:var(--soft);color:var(--ink);border:0;
  border-inline-start:1px solid var(--line);border-radius:0;
  font:400 14px var(--sans);
}
.crm-popover--ficha:popover-open{animation:crm-fade-direita .24s ease-out}
.crm-popover--ficha::backdrop{background:rgba(10,18,35,.36)}
/* O popover fica ancorado no canto direito; ele só surge com fade, vindo de
   um pouquinho mais à direita do que o lugar de repouso. */
@keyframes crm-fade-direita{
  from{opacity:0;transform:translateX(28px)}
  to{opacity:1;transform:none}
}
@media (prefers-reduced-motion: reduce){
  .crm-popover--ficha:popover-open{animation:none}
}
/* o formulário de novo lead é um diálogo central, não uma gaveta */
.crm-popover--form{
  inset:0;margin:auto;width:min(520px,calc(100vw - 32px));
  height:auto;max-height:calc(100dvh - 32px);border-radius:var(--radius);
  border:1px solid var(--line);box-shadow:0 24px 70px rgba(0,0,0,.22);
  background:var(--surface);padding:22px;
}
.crm-popover--form:popover-open{animation:crm-pop-fade .16s ease-out}
.crm-popover--form::backdrop{background:rgba(10,18,35,.4)}
@keyframes crm-pop-fade{
  from{opacity:0;transform:translateY(12px)}
  to{opacity:1;transform:none}
}
.crm-popover--form h3{margin:0 0 4px;font-size:18px}
.crm-pop-carregando{margin:0}

/* conteúdo da ficha dentro do popover */
.crm-popover-corpo{padding:22px}
.crm-pop-cabeca{margin-bottom:14px}
.crm-pop-cabeca h3{margin:0 0 4px;font-size:18px}
.crm-pop-acoes{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin-bottom:6px}
.crm-pop-acoes .crm-zap:hover{transform:none}
.crm-pop-lista{
  list-style:none;margin:10px 0 0;padding:0;display:flex;flex-direction:column;gap:12px;
}
.crm-pop-lista > li{padding-bottom:10px;border-bottom:1px solid var(--line)}
.crm-pop-lista > li:last-child{border-bottom:0;padding-bottom:0}
.crm-pop-linha{display:flex;gap:8px;align-items:center;justify-content:space-between}
.crm-pop-linha em{font-style:normal;font-weight:700;color:var(--cor,var(--ink))}
.crm-pop-lista blockquote{
  margin:6px 0;padding:0 0 0 10px;border-left:3px solid var(--line);
  font-size:12px;color:var(--muted);white-space:pre-line;
}
.crm-pop-lista small{display:block;margin-top:2px;font-size:12px;color:var(--muted)}

.pix-preview{margin-top:24px}
.pix-qr{width:min(100%,240px);margin-top:12px}
.pix-qr svg{display:block;width:100%;height:auto;border:1px solid var(--line);border-radius:12px;background:#fff}

.img-grade{display:grid;gap:10px}
.img-grade__rotulo{margin:8px 0 0;font-size:13px;color:var(--muted)}
.img-grade__dica{margin:0;font-size:13px;line-height:1.45;color:var(--muted)}
.img-grade.is-soltar .img-grade__fotos{outline:2px dashed #e2a113;outline-offset:4px;border-radius:14px}
.img-grade__fotos{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}
.img-slot{
  position:relative;aspect-ratio:1;display:block;margin:0;
  border:1.5px dashed var(--line);border-radius:14px;background:var(--soft);cursor:pointer;overflow:hidden
}
.img-slot--capa{border:2px solid #e2a113}
.img-slot--logo{width:min(160px,42%);aspect-ratio:1}
.img-slot__file{position:absolute;width:0;height:0;opacity:0;pointer-events:none}
.img-slot__preview{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block}
.img-slot--logo .img-slot__preview{object-fit:contain;padding:10px;background:#fff}
.img-slot__mais{
  position:absolute;inset:0;display:grid;place-items:center;
  color:var(--muted);font-size:28px;font-weight:300;line-height:1
}
.img-slot:not(.is-cheia) .img-slot__preview,
.img-slot:not(.is-cheia) .img-slot__limpar{display:none}
.img-slot__selo{
  display:none;position:absolute;z-index:2;top:8px;left:8px;
  padding:3px 8px;border-radius:999px;background:#e2a113;color:#1a1a1a;
  font-size:10px;font-weight:700;letter-spacing:.04em;text-transform:uppercase
}
.img-slot--capa .img-slot__selo,.img-slot--logo .img-slot__selo{display:inline-flex}
.img-slot--logo .img-slot__selo{background:var(--ink);color:#fff}
.img-slot__limpar{
  position:absolute;z-index:2;top:6px;right:6px;width:26px;height:26px;
  border:0;border-radius:50%;background:rgba(0,0,0,.62);color:#fff;
  font-size:16px;line-height:1;cursor:pointer
}
.img-slot--fantasma{opacity:.45}


/* Contas e tabelas do painel em telas pequenas. */
.adm-user{min-width:0;max-width:100%;overflow-wrap:anywhere}
.adm-lista li{min-width:0;overflow-wrap:anywhere}
.adm-tabela{display:table;width:100%;max-width:100%;overflow:visible}
.adm-tabela th,.adm-tabela td{overflow-wrap:anywhere}
.selo{white-space:nowrap}
.member-form{margin-top:20px}
.member-form>label{display:flex;flex-direction:column;gap:7px;font-size:13px;font-weight:500;margin-bottom:20px}
.member-form input:not([type=hidden]):not([type=checkbox]):not([type=radio]),.member-form select{width:100%;min-width:0;border:1.4px solid var(--line);border-radius:var(--radius);background:var(--surface);color:var(--ink);font:400 15px var(--sans);padding:11px 14px}
.member-form input:focus,.member-form select:focus{outline:2px solid var(--ink);outline-offset:2px}
.member-form>label:has(input[type=checkbox]){flex-direction:row;align-items:center}
.member-form .dica{font-size:12px;color:var(--muted);margin:0 0 18px}
.event-form{max-width:44rem}.event-form textarea,.event-form input[type="datetime-local"]{width:100%;box-sizing:border-box;border:1px solid var(--line,#ddd);border-radius:8px;padding:10px;background:var(--bg,#fff);color:inherit;font:inherit}.event-form__cover{max-width:320px;width:100%;border-radius:12px}

.menu-close { display: none; }
@media (max-width: 800px) { .menu-close { display: inline-flex; } }
.adm-cabeca { display: flex; align-items: flex-start; justify-content: space-between; gap: 1rem 1.5rem; margin-bottom: 2.2rem; flex-wrap: wrap; }
.adm-cabeca h1 { margin: 0; }
.adm-meta, .adm-nota { color: var(--muted); font-size: 1rem; margin-top: 0.45rem; max-width: 46rem; }
.btn--ghost, a.btn--ghost { background: var(--pill); color: var(--ink); border: 0; }
.btn--ghost:hover, a.btn--ghost:hover { background: #e7e7e4; transform: none; }
.btn--perigo { background: var(--late-bg); color: var(--late); }
.btn--sm { min-height: 36px; padding: 0 0.9rem; font-size: 0.9rem; }
.adm-lista { list-style: none; display: flex; flex-direction: column; gap: 0; margin: 0 0 2rem; padding: 0; border-top: 1px solid var(--line); }
.adm-lista li { display: flex; align-items: center; gap: 0.8rem; flex-wrap: wrap; background: transparent; border: 0; border-bottom: 1px solid var(--line); border-radius: 0; padding: 1rem 0.2rem; }
.adm-tabela { width: 100%; border-collapse: collapse; background: transparent; border: 0; }
.adm-tabela th { background: transparent; color: var(--muted); font-size: 0.78rem; letter-spacing: 0.1em; text-transform: uppercase; font-weight: 500; }
.adm-tabela th, .adm-tabela td { border-bottom: 1px solid var(--line); }
.selo { display: inline-flex; align-items: center; min-height: 28px; padding: 0 0.8rem; border: 0; border-radius: 999px; background: var(--pill); color: var(--ink-2); letter-spacing: 0; text-transform: none; font-size: 0.86rem; }
.selo--pub { background: var(--ok-bg); color: var(--ok); }
.selo--rascunho { background: var(--pill); color: var(--muted); }
.selo--pendente { background: var(--risk-bg); color: var(--risk); }
.selo--cancelado { background: var(--late-bg); color: var(--late); }
.vazio { background: transparent; border: 0; border-radius: 0; padding: 1.2rem 0; text-align: left; color: var(--muted); }
.aviso--erro { background: var(--late-bg); color: var(--late); border-color: transparent; }
.canvas .form, .auth .form { background: transparent; border: 0; padding: 0; display: grid; gap: 1rem; max-width: 34rem; }
.adm-cabeca > :first-child { flex: 1 1 16rem; min-width: 0; }
.adm-cabeca > .btn, .adm-cabeca > a.btn { margin-top: calc((2.75rem * 1.08 - var(--control)) / 2); }

.cal .cal-time { display: flex; align-items: center; justify-content: space-between; gap: 0.6rem; margin-top: 0.7rem; font-size: 0.92rem; color: var(--muted); }
.cal .cal-time input { width: 8.2rem; height: 36px; }
.campo .date-btn, .stack .date-btn, label > .date-btn { justify-content: flex-start; }
.cover-pick .cover, .cover-pick .cover.empty { width: 120px; height: 80px; border-radius: 12px; }
.cover.empty { color: transparent; }

button.late, a.late { background: var(--late-bg); color: var(--late); }
button.late:hover, a.late:hover { background: #f4d4d0; }
td.acoes { width: 1%; text-align: right; white-space: nowrap; }
.adm-lista li > a.ghost,
.adm-lista li > button.ghost,
.adm-lista li > button.late { margin-left: auto; min-height: 34px; padding: 0 0.9rem; }
.adm-lista li > a.ghost ~ a,
.adm-lista li > a.ghost ~ button,
.adm-lista li > button ~ a,
.adm-lista li > button ~ button { margin-left: 0.4rem; }
.form-acoes .espaco, .late.espaco { margin-left: auto; }

.campo { display: grid; gap: 0.45rem; }
.dica { margin: 0; font-size: 0.86rem; color: var(--muted); }
.campo > label,
.campo > .rotulo,
.member-form > label,
.stack > label {
  display: grid;
  gap: 0.45rem;
  margin: 0;
  font-size: 0.92rem;
  font-weight: 400;
  color: var(--muted);
}
.member-form > label:has(input[type="checkbox"]) { display: flex; flex-direction: row; align-items: center; }
.campo input[type="text"],
.campo input[type="number"],
.campo input[type="email"],
.campo input[type="tel"],
.campo input[type="password"],
.campo input[type="url"],
.campo input[type="search"],
.campo input[type="datetime-local"],
.campo select,
.member-form input:not([type="hidden"]):not([type="checkbox"]):not([type="radio"]):not([type="file"]),
.member-form select,
.event-form input:not([type="hidden"]):not([type="checkbox"]):not([type="radio"]):not([type="file"]),
.event-form select,
.canvas form[method="get"] input,
.adm-busca input {
  height: var(--control);
  border: 1px solid var(--line-2);
  border-radius: var(--control-r);
  padding: 0 0.9rem;
  font: inherit;
  font-size: 1rem;
  background: var(--surface);
  box-sizing: border-box;
}
.campo textarea,
.member-form textarea,
.event-form textarea {
  height: auto;
  min-height: 9rem;
  padding: 0.75rem 0.9rem;
  border: 1px solid var(--line-2);
  border-radius: var(--control-r);
  font: inherit;
  font-size: 1rem;
  background: var(--surface);
  box-sizing: border-box;
}
.campo input:focus,
.campo textarea:focus,
.campo select:focus,
.member-form input:focus,
.member-form select:focus,
.event-form input:focus,
.event-form textarea:focus,
.event-form select:focus {
  outline: 2px solid #1b1b1a22;
  outline-offset: 0;
  border-color: #c9c9c5;
}

.panel .adm-ficha,
.panel .crm-popover-corpo {
  display: flex;
  flex-direction: column;
  height: 100%;
  overflow: hidden;
  box-sizing: border-box;
  padding: 0;
  background: var(--surface);
}
.panel .form,
.panel form.stack {
  background: transparent;
  border: 0;
  border-radius: 0;
  box-shadow: none;
  max-width: none;
}
.panel .adm-ficha > form {
  overflow: auto;
  flex: 1;
  min-height: 0;
  padding: 0.2rem 1.6rem 2rem;
}
.drawer-actions { display: flex; align-items: center; gap: 0.5rem; flex: 0 0 auto; }
a.ghost {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: var(--control);
  padding: 0 1.15rem;
  border-radius: 999px;
  text-decoration: none;
  font-weight: 500;
  font-size: 0.98rem;
}
.drawer-top .head-sub { margin: 0.35rem 0 0; }
.campo .pick, .stack .pick, label > .pick { width: 100%; max-width: none; }
.pick-list, .cal { overscroll-behavior: contain; }
.campo > .date-btn, label > .date-btn { width: 100%; justify-content: space-between; }
tr[data-ficha] { cursor: pointer; }
tr[data-ficha]:hover td { background: var(--soft); }
.adm-lista li > a.ghost,
.adm-lista li > button.ghost,
.adm-lista li > button.late { min-height: var(--control); }
nav[aria-label="Paginação"] { display: flex; gap: 0.5rem; margin-top: 1.2rem; }
.side-foot a.site {
  display: flex; align-items: center; gap: 0.7rem; min-height: 40px; color: var(--ink-2);
  padding: 0 0.75rem; margin-left: -0.45rem; border-radius: 11px; font-size: 1rem;
}
.side-foot a.site .ico { width: 19px; height: 19px; }
.side-foot a.site:hover { background: var(--soft); color: var(--ink); }
.topbar a.who, .side-foot a.who { color: inherit; text-decoration: none; }
.side-foot a.who:hover span:last-child { text-decoration: underline; }

.adm-tabela td, .adm-tabela th { vertical-align: middle; overflow-wrap: anywhere; }
.adm-tabela td { padding-top: 0.85rem; padding-bottom: 0.85rem; }
.adm-titulo-cel { vertical-align: middle; min-width: 0; }
.adm-titulo-cel a { overflow-wrap: anywhere; }
.adm-capa-cel, .adm-capa-col { width: 4.6rem; }
.selo { white-space: nowrap; }

.ficha-topo { display: grid; gap: 0.85rem; padding: 1.15rem 1.6rem 0.2rem; }
.ficha-topo-acoes { display: flex; justify-content: flex-end; align-items: center; gap: 0.5rem; flex-wrap: wrap; }
.ficha-titulo {
  display: block; font-family: var(--serif); font-size: clamp(1.45rem, 3vw, 2rem);
  font-weight: 400; letter-spacing: -0.02em; line-height: 1.15; margin: 0;
  overflow-wrap: anywhere; text-decoration: none; color: inherit;
}
.ficha-titulo:hover { text-decoration: underline; }
span.ghost.is-off { opacity: 0.45; pointer-events: none; }
.campo .adm-slug { margin: 0.15rem 0 0; overflow-wrap: anywhere; }

button.pick { justify-content: flex-start; text-align: left; }
button.pick > .one-line { flex: 1 1 auto; min-width: 0; text-align: left; }

.canvas .wrap { container-type: inline-size; container-name: pagina; }
.canvas .form.materia-form,
.panel .adm-ficha > form.materia-form { max-width: none; display: block; }
.materia-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 1.4rem;
  align-items: start;
}
.materia-main, .materia-side { display: grid; gap: 1rem; min-width: 0; }
.materia-grid .campo { margin: 0; min-width: 0; }
.materia-acoes {
  display: flex;
  flex-wrap: wrap;
  gap: 0.45rem;
  margin: 0;
  padding: 0 0 0.2rem;
  border: 0;
}
.materia-acoes > button,
.materia-acoes > .btn,
.materia-acoes > .ghost,
.materia-acoes > .late {
  flex: 1 1 auto;
  min-width: 0;
  padding: 0 0.75rem;
}
@media (max-width: 800px) {
  .canvas:has(.materia-form) .head {
    flex-wrap: nowrap;
    align-items: center;
    margin-bottom: 1.1rem;
  }
  .canvas:has(.materia-form) .head-text { flex: 1 1 auto; }
  .canvas:has(.materia-form) .head-actions { margin-top: 0; }
  .canvas:has(.materia-form) { padding-bottom: 6.5rem; }
  .materia-acoes {
    position: fixed;
    z-index: 45;
    left: 0;
    right: 0;
    bottom: 0;
    display: flex;
    flex-wrap: nowrap;
    gap: 0.4rem;
    margin: 0;
    padding: 0.6rem 0.75rem calc(0.6rem + env(safe-area-inset-bottom));
    background: var(--surface);
    border-top: 1px solid var(--line);
  }
  .materia-acoes > button,
  .materia-acoes > .btn,
  .materia-acoes > .ghost,
  .materia-acoes > .late {
    width: auto;
    flex: 1 1 0;
    font-size: 0.78rem;
    padding: 0 0.3rem;
  }
  body.shell-app:has(.materia-form) .toasts { bottom: 5.4rem; }
  .materia-form .ql-container,
  .materia-form .ql-toolbar { max-width: 100%; min-width: 0; }
  .materia-form .ql-toolbar.ql-snow {
    flex-wrap: wrap;
    height: auto;
    overflow: visible;
    row-gap: 2px;
  }
  .materia-form input,
  .materia-form textarea,
  .materia-form .pick,
  .materia-form .date-btn { max-width: 100%; min-width: 0; }
}
@media (min-width: 960px) {
  .materia-grid {
    grid-template-columns: minmax(0, 1fr) minmax(17rem, 22rem);
    gap: 1.6rem 2.2rem;
  }
}
.cover-box { display: grid; gap: 0.55rem; justify-items: start; }
.midia-caminho { display: flex; flex-wrap: wrap; gap: 0.45rem; align-items: center; margin: 0 0 1rem; min-width: 0; }
.midia-caminho button { max-width: 16rem; min-width: 0; }
.midia-caminho button .one-line { display: block; }
.midia-caminho .drop-on { outline: 2px dashed var(--ink); outline-offset: 2px; }
.midia-barra { display: flex; gap: 0.6rem; align-items: center; margin: 0 0 1rem; }
.midia-barra input { flex: 1; min-width: 0; }
.midia-vistas { display: flex; gap: 0.3rem; }
.midia-vistas .on { background: var(--ink); color: #fff; }
.midia-envio { position: fixed; left: -100vw; width: 1px; height: 1px; overflow: hidden; }
.midia-palco { position: relative; min-height: 12rem; }
.midia-palco.is-drop { outline: 2px dashed var(--ink); outline-offset: 8px; border-radius: 18px; }
#midia-painel[data-vista="grade"] .midia-lista { display: none; }
#midia-painel[data-vista="lista"] .midia-grade { display: none; }
#midia-painel [data-midia-apagar][hidden] { display: none !important; }
.midia-grade { display: grid; grid-template-columns: repeat(auto-fill, minmax(148px, 1fr)); gap: 0.85rem; }
.midia-card, .midia-item {
  display: grid; gap: 0.4rem; align-content: start; cursor: pointer; min-width: 0;
  padding: 0.5rem; border-radius: 16px; background: var(--surface);
  border: 1px solid var(--line); text-align: left; color: inherit;
}
.midia-card .one-line, .midia-linha .one-line { display: block; max-width: 100%; }
button.midia-item { cursor: pointer; min-height: 0; background: var(--surface); color: var(--ink); border-radius: 16px; padding: 0.55rem; }
button.midia-item:hover, .midia-card:hover { border-color: var(--line-2); }
.midia-card img, .midia-item img { width: 100%; aspect-ratio: 1; object-fit: cover; border-radius: 12px; background: var(--soft); display: block; cursor: grab; }
.midia-rosto {
  aspect-ratio: 1; border-radius: 12px; background: var(--soft); color: var(--ink-2);
  display: grid; place-items: center; cursor: grab;
}
.midia-rosto .ico { width: 42%; height: 42%; stroke-width: 1.4; }
.midia-linha .midia-rosto { width: 64px; height: 44px; aspect-ratio: auto; border-radius: 8px; flex: 0 0 auto; }
.midia-linha .midia-rosto .ico { width: 22px; height: 22px; }
.midia-pasta.drop-on {
  outline: 2px dashed var(--ink);
  outline-offset: 3px;
  background: var(--pill);
}
.drag-ghost { opacity: 0.35; }
.sortable-fallback, body.midia-arrastando .drag-chosen, body.midia-arrastando .sortable-chosen { pointer-events: none !important; }
body.midia-arrastando, body.midia-arrastando .midia-rosto, body.midia-arrastando img { cursor: grabbing; }
.midia-sub { margin: 0; color: var(--muted); font-size: 0.82rem; min-width: 0; }
.midia-card.is-on { box-shadow: inset 0 0 0 2px var(--ink); }
.midia-linha.is-on { background: var(--soft); }
.midia-lista { display: flex; flex-direction: column; }
.midia-linha {
  display: flex; align-items: center; gap: 0.85rem; cursor: pointer; min-width: 0;
  padding: 0.55rem 0.2rem; border-bottom: 1px solid var(--line);
}
.midia-linha img { width: 64px; height: 44px; object-fit: cover; border-radius: 8px; background: var(--soft); flex: 0 0 auto; }
.midia-linha-txt { min-width: 0; flex: 1; display: grid; gap: 0.1rem; }
.midia-linha-txt span { color: var(--muted); font-size: 0.82rem; }
.midia-lixo { margin: 0 0 0 auto; opacity: 0; }
.midia-linha:hover .midia-lixo, .midia-linha:focus-within .midia-lixo { opacity: 1; }
.midia-preview {
  display: grid; place-items: center; min-height: 180px; height: 180px;
  border-radius: 16px; overflow: hidden; background: var(--soft);
}
.midia-preview img { display: block; width: 100%; height: 180px; object-fit: contain; }
.midia-fatos { display: grid; gap: 0.75rem; margin: 0; }
.midia-fatos div { display: grid; gap: 0.15rem; }
.midia-fatos dt { color: var(--muted); font-size: 0.82rem; }
.midia-fatos dd { margin: 0; overflow-wrap: anywhere; }
.midia-ficha-acoes { display: flex; flex-wrap: wrap; gap: 0.5rem; }
.panel .midia-picker { display: flex; flex-direction: column; height: 100%; overflow: hidden; }
.panel .midia-picker .drawer-scroll { display: grid; gap: 0.8rem; align-content: start; }
.crm-card .task-meta { margin-top: 0.75rem; }
.crm-card .crm-zap { margin-left: auto; width: 28px; height: 28px; min-height: 0; }
.crm-card-anotacao { margin: 0.45rem 0 0; }

@media (max-width: 800px) {
  .adm-posts { width: max(100%, 760px); }
  .adm-posts .adm-editoria-cel,
  .adm-posts .adm-status-cel,
  .adm-posts .adm-data-cel,
  .adm-posts td.acoes {
    overflow-wrap: normal;
    word-break: normal;
    white-space: nowrap;
  }
  .adm-posts .adm-capa-cel,
  .adm-posts .adm-capa-col { width: 2.4rem; padding-right: 0.35rem; }
  .adm-posts .adm-thumb,
  .adm-posts .adm-thumb--vazia {
    width: 36px;
    height: 36px;
    border-radius: 8px;
  }
  .adm-posts .adm-editoria {
    display: inline-block;
    max-width: 7.5rem;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    vertical-align: middle;
    font-size: 0.72rem;
    line-height: 1.2;
    font-weight: 500;
    padding: 0.2rem 0.5rem;
    border-radius: 999px;
    background: var(--pill);
    color: var(--ink-2);
  }
  .adm-posts th.acoes,
  .adm-posts td.acoes { display: none; }
  .adm-posts th.adm-status-cel { font-size: 0; width: 2rem; }
  .adm-posts td.adm-status-cel { width: 2rem; text-align: center; }
  .adm-posts .selo {
    width: 22px;
    height: 22px;
    min-height: 0;
    padding: 0;
    font-size: 0;
    border-radius: 50%;
    display: inline-flex;
    align-items: center;
    justify-content: center;
  }
  .adm-posts .selo::after {
    content: "";
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: currentColor;
  }
  .adm-posts .selo--pub { background: var(--ok-bg); color: var(--ok); }
  .adm-posts .selo--rascunho { background: var(--pill); color: var(--muted); }
}
.perm-bloco { border: 0; margin: 0.2rem 0 0.4rem; padding: 0; display: grid; gap: 1rem; }
.perm-bloco > legend { font-size: 0.95rem; font-weight: 600; padding: 0; }
.aviso-opcao {
  display: flex; align-items: flex-start; gap: 0.7rem; margin: 0;
  padding: 0.7rem 0; border-bottom: 1px solid var(--line); cursor: pointer;
}
.aviso-opcao:last-of-type { border-bottom: 0; }
.aviso-opcao input { margin-top: 0.2rem; }
.aviso-opcao span { display: grid; gap: 0.15rem; min-width: 0; }
.aviso-opcao strong { font-size: 0.95rem; font-weight: 600; }
.aviso-opcao small { color: var(--muted); font-size: 0.85rem; line-height: 1.4; }
.perm-grupo h2 { font-size: 0.78rem; font-weight: 600; letter-spacing: 0.04em; text-transform: uppercase; color: var(--muted); margin: 0 0 0.45rem; }
.perm-linha { display: grid; grid-template-columns: minmax(6.5rem, 0.7fr) minmax(0, 1.6fr); gap: 0.35rem 0.75rem; align-items: center; margin-bottom: 0.4rem; }
.perm-niveis { display: flex; gap: 0.35rem; min-width: 0; }
.perm-niveis label {
  position: relative;
  flex: 1 1 0;
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 36px;
  margin: 0;
  padding: 0 0.35rem;
  border: 1px solid var(--line-2);
  border-radius: 999px;
  font-size: 0.78rem;
  font-weight: 500;
  cursor: pointer;
}
.perm-niveis input { position: absolute; opacity: 0; width: 1px; height: 1px; }
.perm-niveis label:has(input:checked) { background: var(--ink); color: #fff; border-color: var(--ink); }
.perm-niveis label:has(input:focus-visible) { outline: 2px solid var(--ink); outline-offset: 2px; }
@media (max-width: 800px) {
  .perm-linha { grid-template-columns: 1fr; }
}
.abas { display: flex; gap: 0.4rem; flex-wrap: wrap; margin: 0 0 1.2rem; }
.abas a {
  display: inline-flex; align-items: center; min-height: 36px; padding: 0 0.9rem;
  border-radius: 999px; background: var(--pill); color: var(--ink); text-decoration: none; font-size: 0.9rem;
}
.abas a.on { background: var(--ink); color: #fff; }
.stack > label.liga, label.liga {
  display: flex; align-items: center; justify-content: space-between; gap: 1rem;
  padding: 0.85rem 0; border-bottom: 1px solid var(--line); margin: 0; cursor: pointer;
}
.liga > span:first-child { min-width: 0; }
.liga strong { display: block; font-weight: 600; color: var(--ink); font-size: 0.98rem; }
.liga small { display: block; font-weight: 400; color: var(--muted); font-size: 0.82rem; margin-top: 0.15rem; }
.liga-input { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }
.liga-trilho {
  position: relative; flex: none; width: 44px; height: 26px; border-radius: 999px; background: var(--pill);
}
.liga-trilho::after {
  content: ""; position: absolute; top: 3px; left: 3px; width: 20px; height: 20px; border-radius: 50%;
  background: #fff; box-shadow: 0 1px 3px rgba(20, 20, 18, 0.18); transition: transform 160ms ease;
}
.liga:has(.liga-input:checked) .liga-trilho { background: var(--ink); }
.liga:has(.liga-input:checked) .liga-trilho::after { transform: translateX(18px); }
.liga:has(.liga-input:focus-visible) .liga-trilho { outline: 2px solid var(--ink); outline-offset: 2px; }
form:not(:has([name="seo"]:checked)) .seo-campos { opacity: 0.45; }
.seo-campos { display: grid; gap: 1rem; margin-top: 1.1rem; max-width: 36rem; }
.seo-campos textarea { min-height: 0; }
.cor-linha {
  display: flex; align-items: center; justify-content: space-between; gap: 1rem;
  padding: 0.75rem 0; border-bottom: 1px solid var(--line); margin: 0;
}
.cor-linha span { display: block; font-weight: 600; color: var(--ink); }
.cor-linha small { display: block; font-weight: 400; color: var(--muted); font-size: 0.82rem; margin-top: 0.15rem; }
.cor-linha input[type="color"] {
  width: 44px; height: 26px; padding: 0; border: 0; background: transparent; flex: none; cursor: pointer;
}
.solta {
  width: 100%; max-width: 36rem; display: flex; align-items: center; gap: 1rem;
  padding: 0.9rem 1rem; border: 1px dashed var(--line-2); border-radius: 16px; background: var(--surface);
}
.solta .cover, .solta .cover.empty { width: 72px; height: 72px; border-radius: 12px; }
.solta .cover img { object-fit: contain; background: var(--pill); }
.solta-texto { display: grid; gap: 0.15rem; }
.solta-texto strong { color: var(--ink); font-weight: 600; }
.solta-texto small { color: var(--muted); font-size: 0.82rem; }
.bolha {
  display: inline-flex; align-items: center; justify-content: center;
  min-width: 1.25rem; height: 1.25rem; padding: 0 0.35rem; border-radius: 999px;
  background: var(--accent); color: #fff; font-size: 0.72rem; font-weight: 650; line-height: 1;
}
.nav a .bolha { margin-left: auto; }
.bolhas { display: flex; flex-wrap: wrap; gap: 0.75rem 1.1rem; margin: 0 0 1.3rem; }
.bolha-item { display: inline-flex; align-items: center; gap: 0.4rem; color: var(--ink-2); font-size: 0.92rem; }

/* Audiência: uma seleção de período, indicadores legíveis e contexto do histórico. */
.metrica{--metrica-texto:#252a26;--metrica-secundario:#59615b;--metrica-borda:#dce1db;--metrica-acento:#bf4b24;margin:0 0 2.5rem;color:var(--metrica-texto)}
.metrica-topo{display:flex;align-items:center;justify-content:space-between;gap:1.5rem;margin-bottom:1.5rem}
.metrica .metrica-kicker{margin:0 0 .4rem;font-size:.75rem;line-height:1.4;letter-spacing:.1em;text-transform:uppercase;font-weight:700;color:var(--metrica-secundario)}
.metrica-topo h2{margin:0 0 .45rem;font-size:1.7rem;line-height:1.2;letter-spacing:-.035em}
.metrica-topo p{margin:0;color:var(--metrica-secundario);font-size:1rem;line-height:1.55}
.metrica-topo .btn{flex-shrink:0;border:1px solid var(--metrica-borda);font-size:.95rem;min-height:44px}
.metrica-filtros{display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap;margin-bottom:1rem}
.metrica-abas{display:inline-flex;gap:4px;background:#f1f3ef;border:1px solid var(--metrica-borda);padding:4px;border-radius:12px}
.metrica-abas a{display:flex;align-items:center;justify-content:center;min-height:40px;padding:0 1.1rem;color:#404a43;font-size:.95rem;font-weight:600;border-radius:8px;text-decoration:none;white-space:nowrap}
.metrica-abas a:hover{background:#e2e7e0;color:#202721}
.metrica-abas a.is-on{background:#263d32;color:white;box-shadow:0 1px 3px #13271c18}
.metrica a:focus-visible,.metrica summary:focus-visible{outline:3px solid #b34c22;outline-offset:4px}
.metrica-intervalo{font-size:.9rem;color:var(--metrica-secundario);font-variant-numeric:tabular-nums}
.metrica-historico{display:flex;align-items:flex-start;gap:10px;padding:13px 16px;margin:0 0 1.25rem;background:#f3f6f1;border:1px solid #dce4d7;border-radius:12px}
.metrica-historico p{margin:0;color:#475343;font-size:.9rem;line-height:1.6}
.metrica-historico strong{color:#2e3e2c;font-weight:650}
.metrica-historico-icone{display:inline-flex;align-items:center;justify-content:center;flex:0 0 18px;height:18px;border:1.5px solid #52654c;color:#43543e;border-radius:50%;font-size:12px;line-height:1;font-weight:700;margin-top:3px}
.metrica-indicadores{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin:0 0 1.25rem}
.metrica-indicador{min-width:0;padding:22px 20px;background:white;border:1px solid var(--metrica-borda);border-radius:16px}
.metrica-indicador--principal{background:#fff4eb;border-color:#e6bda3}
.metrica-indicador dt{font-size:.95rem;font-weight:550;color:#434d45;line-height:1.35}
.metrica-indicador dd{margin:12px 0 8px;font-size:2.2rem;font-weight:700;line-height:1.1;letter-spacing:-.045em;font-variant-numeric:tabular-nums;color:#202821}
.metrica-indicador>span{display:block;font-size:.82rem;line-height:1.5;color:var(--metrica-secundario)}
.metrica-chart{padding:22px 24px 16px;background:white;border:1px solid var(--metrica-borda);border-radius:16px;margin-bottom:2rem}
.metrica-chart-topo{display:flex;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:24px}
.metrica h3{font-size:1.05rem;line-height:1.4;margin:0;font-weight:650;letter-spacing:-.02em}
.metrica-chart-topo p{margin:4px 0 0;font-size:.85rem;line-height:1.5;color:var(--metrica-secundario)}
.metrica-legenda{display:inline-flex;align-items:center;gap:7px;font-size:.85rem;color:var(--metrica-secundario);white-space:nowrap}
.metrica-legenda i{width:9px;height:9px;border-radius:50%;background:var(--metrica-acento)}
.metrica-chart-body{display:grid;grid-template-columns:42px minmax(0,1fr);gap:8px}
.metrica-eixo-y{display:flex;flex-direction:column;justify-content:space-between;height:160px;font-size:.75rem;line-height:1;color:var(--metrica-secundario);text-align:right;font-variant-numeric:tabular-nums;padding-top:2px}
.metrica-plot{min-width:0}
.metrica-grafico{display:block;width:100%;height:160px;overflow:visible}
.metrica-grade{stroke:#e5e9e3;stroke-width:1;stroke-dasharray:3 4;vector-effect:non-scaling-stroke}
.metrica-area{fill:#f6dace;opacity:.65}
.metrica-linha{fill:none;stroke:var(--metrica-acento);stroke-width:2.5px;stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke}
.metrica-ponto{fill:var(--metrica-acento);stroke:white;stroke-width:1.5;vector-effect:non-scaling-stroke}
.metrica-eixo-x{position:relative;height:28px;margin-top:10px;color:var(--metrica-secundario);font-size:.75rem;line-height:1.2}
.metrica-eixo-x span{position:absolute;transform:translateX(-50%);white-space:nowrap}
.metrica-eixo-x span:first-child:not(:only-child){transform:none}
.metrica-eixo-x span:last-child:not(:only-child){transform:translateX(-100%)}
.metrica-dados{margin-top:4px;font-size:.85rem;color:var(--metrica-secundario)}
.metrica summary{cursor:pointer;width:fit-content;padding:8px 0;font-weight:550}
.metrica-dados summary:hover,.metrica-metodo summary:hover{color:var(--metrica-texto);text-decoration:underline}
.metrica-tabela-wrap{max-height:250px;overflow:auto;margin-top:8px}
.metrica-dados table{width:100%;border-collapse:collapse;font-size:.85rem}
.metrica-dados caption{text-align:left;padding:6px 0 12px;font-weight:600;color:var(--metrica-texto)}
.metrica-dados :is(th,td){padding:8px 12px;border-bottom:1px solid #e5e9e3;text-align:left}
.metrica-dados thead th{background:#f2f5ef;color:#3b463d}
.metrica-dados td:last-child,.metrica-dados thead th:last-child{text-align:right;font-variant-numeric:tabular-nums}
.metrica-ranking-topo{display:flex;align-items:flex-end;justify-content:space-between;gap:1.5rem;margin-bottom:16px}
.metrica-ranking-topo>div>h3{font-size:1.25rem}
.metrica-ranking-topo p{font-size:.9rem;line-height:1.5;color:var(--metrica-secundario);margin:5px 0 0}
.metrica-origem{flex-shrink:0;text-align:right}
.metrica-origem strong{display:block;color:var(--metrica-texto);font-weight:600}
.metrica-tops{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.metrica-bloco{min-width:0;padding:20px;background:white;border:1px solid var(--metrica-borda);border-radius:16px}
.metrica-bloco-topo{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:12px;padding-bottom:14px;border-bottom:1px solid var(--metrica-borda)}
.metrica-bloco-topo>span{font-size:.72rem;line-height:1.4;color:var(--metrica-secundario);padding-top:3px}
.metrica-lista{list-style:none;margin:0;padding:0}
.metrica-lista li{display:grid;grid-template-columns:23px minmax(0,1fr) auto;gap:10px;align-items:start;padding:16px 0;border-bottom:1px solid #e7ebe5}
.metrica-lista li:last-child{border-bottom:0;padding-bottom:2px}
.metrica-pos{font-size:.8rem;font-weight:600;color:#657063;line-height:1.7;font-variant-numeric:tabular-nums}
.metrica-item{min-width:0}
.metrica-item>a,.metrica-item>span{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;font-size:.95rem;line-height:1.55;color:#29322c;text-decoration:none;font-weight:500}
.metrica-item>a:hover{text-decoration:underline;text-underline-offset:3px}
.metrica-item small{display:block;margin-top:6px;color:var(--metrica-secundario);font-size:.8rem;line-height:1.5}
.metrica-lista strong{color:#25362a;font-size:1.1rem;line-height:1.5;font-variant-numeric:tabular-nums;font-weight:700}
.metrica-barra{height:4px;border-radius:4px;background:#edf0ea;margin-top:10px;overflow:hidden}
.metrica-barra i{display:block;height:100%;background:#57715d;border-radius:4px}
.metrica-bloco--noticias .metrica-barra i{background:#c45c35}
.metrica-bloco--eventos .metrica-barra i{background:#61738d}
.metrica-vazio{padding:20px 0;color:var(--metrica-secundario);font-size:.95rem;line-height:1.6;margin:0}
.metrica-ajuda{color:var(--metrica-secundario);font-size:.9rem;line-height:1.5;margin:0}
.metrica-localidades{margin-top:18px;max-width:760px}
.metrica-metodo{margin-top:22px;border-top:1px solid var(--metrica-borda);padding-top:10px;font-size:.9rem;color:var(--metrica-secundario)}
.metrica-metodo dl{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 32px;margin:12px 0}
.metrica-metodo dt{font-weight:650;color:#303d32;margin-bottom:4px}
.metrica-metodo dd{margin:0;line-height:1.6;max-width:62ch}
@media(max-width:1150px){.metrica-tops{grid-template-columns:1fr}.metrica-bloco-topo{align-items:center}.metrica-item>a,.metrica-item>span{-webkit-line-clamp:2}.metrica-indicadores{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:640px){.metrica-topo{align-items:flex-start}.metrica-topo h2{font-size:1.5rem}.metrica-topo .btn{font-size:.8rem;padding:0 12px}.metrica-topo>div>p:last-child{font-size:.9rem}.metrica-filtros{gap:10px}.metrica-abas{width:100%}.metrica-abas a{flex:1;padding:0 12px}.metrica-indicadores{gap:10px}.metrica-indicador{padding:16px 14px;border-radius:12px}.metrica-indicador dt{font-size:.85rem}.metrica-indicador dd{font-size:1.8rem}.metrica-indicador>span{font-size:.78rem}.metrica-chart{padding:18px 16px 12px}.metrica-chart-topo{align-items:flex-start;gap:12px}.metrica-chart-topo h3{font-size:.95rem}.metrica-legenda{font-size:.75rem}.metrica-chart-body{grid-template-columns:30px minmax(0,1fr)}.metrica-ranking-topo{align-items:flex-start;flex-direction:column;gap:8px}.metrica-origem{text-align:left}.metrica-origem strong{display:inline;margin-left:8px}.metrica-bloco{padding:18px 16px}.metrica-metodo dl{grid-template-columns:1fr}}

.ordem-ajuda{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin:8px 0 16px;color:#526052;font-size:.9rem;line-height:1.5}
.ordem-ajuda p{margin:0}.ordem-ajuda [data-ordem-status]:not(:empty){font-weight:600;color:#2a4a32}
.adm-tabela .ordem-cel{width:38px;padding:8px 4px}
button.ordem-alca{display:flex;align-items:center;justify-content:center;width:32px;min-height:40px;padding:0;border:0;border-radius:8px;box-shadow:none;background:transparent;color:#6a746b;cursor:grab;touch-action:none}
button.ordem-alca:hover{background:#edf1e9;color:#283c2c}button.ordem-alca:active{cursor:grabbing}button.ordem-alca:focus-visible{outline:2px solid #b34c22;outline-offset:2px}
.ordem-fantasma{opacity:.35;background:#e3ecdf}.ordem-escolhido{background:#f1f6ed}
[data-ordenar][aria-busy="true"] .ordem-alca{opacity:.45;cursor:wait}

.feira-admin-abas{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 20px}.feira-admin-abas a{display:inline-flex;align-items:center;min-height:38px;padding:0 14px;border:1px solid var(--line);border-radius:99px;text-decoration:none;color:var(--ink);font-size:.9rem}.feira-admin-abas a[aria-current="page"]{background:var(--ink);color:var(--surface);border-color:var(--ink)}.feira-admin-acoes,.feira-admin-acoes form{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.feira-admin-categoria{display:flex;gap:16px;align-items:center;flex-wrap:wrap;padding:16px 0;border-bottom:1px solid var(--line)}.feira-admin-categoria>input:not([type="hidden"]){max-width:360px}.feira-admin-categoria label{display:inline-flex;gap:8px;align-items:center;margin:0}.feira-admin-categoria input[type="checkbox"]{width:auto;min-height:0}.feira-paginacao{display:flex;justify-content:space-between;gap:24px;margin-top:24px}.feira-descricao{white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.7}

.feira-destaque{display:flex!important;align-items:center;gap:10px}.feira-destaque input{width:auto!important;min-height:0!important}.feira-estrela{display:grid;place-items:center;width:36px;height:36px;border:1px solid var(--line);border-radius:8px;background:transparent;color:var(--gray-600);cursor:pointer}.feira-estrela svg{width:20px;height:20px}.feira-estrela.is-active{background:var(--ink);color:var(--surface)}

.feira-admin-form>.campo{display:grid;gap:7px;margin-bottom:22px}.feira-admin-form .campo>span{font-size:13px;font-weight:500}.feira-admin-form .campo small{font-size:12px;color:var(--muted)}

.empregos-admin-form{max-width:900px;display:grid;gap:24px}.empregos-admin-form .ckout__grade{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.empregos-admin-form .ckout__campo{display:grid;gap:7px;min-width:0}.empregos-admin-form .ckout__campo--2{grid-column:span 2}.empregos-admin-form .ckout__campo>span{font-size:13px;font-weight:500}.empregos-admin-form :is(input:not([type=checkbox]),select,textarea){width:100%;min-width:0;padding:11px 14px;border:1.4px solid var(--line);border-radius:var(--radius);background:var(--surface);color:var(--ink);font:400 15px var(--sans)}.empregos-admin-form textarea{resize:vertical}.empregos-admin-form :is(input,select,textarea):focus-visible{outline:2px solid var(--ink);outline-offset:2px}.empregos-admin-form .ckout__nota{font-size:12px;color:var(--muted);line-height:1.6;margin:0}.empregos-destaque{display:flex;gap:10px;align-items:center;font-size:13px}.empregos-destaque input{width:16px;height:16px;accent-color:var(--ink)}.panel .empregos-admin-form .ckout__grade{grid-template-columns:minmax(0,1fr)}.panel .empregos-admin-form .ckout__campo--2{grid-column:span 1}
@media(max-width:600px){.empregos-admin-form .ckout__grade{grid-template-columns:minmax(0,1fr)}.empregos-admin-form .ckout__campo--2{grid-column:span 1}}

.canvas .empregos-admin-filtros{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;align-items:end;margin:0 0 24px}.empregos-admin-filtros label{display:grid;gap:7px;min-width:0}.empregos-admin-filtros label>span{font-size:13px;font-weight:500}.canvas .empregos-admin-filtros :is(input[type=search],select){width:100%;max-width:none;min-width:0;padding:11px 14px;border:1.4px solid var(--line);border-radius:var(--radius);background:var(--surface);color:var(--ink);font:400 15px var(--sans)}.empregos-admin-filtros__acoes{display:flex;align-items:center;gap:16px}.empregos-admin-filtros__acoes a{font-size:13px;color:var(--muted)}@media(max-width:700px){.canvas .empregos-admin-filtros{grid-template-columns:minmax(0,1fr)}}

.empregos-tabela th{white-space:nowrap}
