/* Comunidade, Conta e Administração — acabamento Linhas.
 * Esta base entra pelo <head> antes das peles específicas de Perfil,
 * Feed/Fórum e Chat. As regras são deliberadamente locais: a casca e os
 * produtos Canal/Robô não mudam aqui. */

.dotti-shell :is(.feed-duplo, .forum-real, .chat, .pf-topo, .pf-colunas,
  .nt-painel, .admin-suite) {
  --caa-line: color-mix(in srgb, var(--linha) 88%, transparent);
  --caa-soft: color-mix(in srgb, var(--sup2) 76%, transparent);
  --caa-red-soft: color-mix(in srgb, var(--marca) 9%, var(--sup));
}
.dotti-shell .sr-only { position: absolute !important; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; }

/* ── Feed / rede social ─────────────────────────────────────────────── */
.dotti-shell .feed-duplo {
  grid-template-columns: minmax(12rem, 14rem) minmax(32rem, 46rem) minmax(13rem, 17rem);
  gap: clamp(1rem, 2vw, 1.75rem);
  align-items: start;
}

.dotti-shell .feed-duplo > :is(.atalhos, .pessoas) {
  position: sticky;
  top: 4.5rem;
  border-radius: 0;
  border-color: var(--caa-line);
  background: transparent;
  box-shadow: none;
}

.dotti-shell .feed-duplo .feed { gap: 1rem; }

.dotti-shell .escrever,
.dotti-shell .post {
  max-width: none;
  padding: 1.125rem;
  border-radius: 6px;
  border-color: var(--caa-line);
  background: color-mix(in srgb, var(--sup) 93%, transparent);
  box-shadow: 0 1.25rem 3.5rem -3.25rem color-mix(in srgb, var(--marca) 35%, transparent);
}

.dotti-shell .post { gap: .8rem; }
.dotti-shell .post:hover { border-color: color-mix(in srgb, var(--linha2) 86%, var(--marca)); }

.dotti-shell .post .p-topo {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  align-items: center;
  column-gap: .75rem;
}

.dotti-shell .post .p-txt {
  max-width: 68ch;
  font-size: .9375rem;
  line-height: 1.62;
}

.dotti-shell .post .p-acoes {
  margin-inline: -1.125rem;
  margin-block-end: -1.125rem;
  padding: .7rem 1.125rem;
  border-block-start: 1px solid var(--caa-line);
  background: color-mix(in srgb, var(--sup2) 50%, transparent);
}

.dotti-shell .escrever textarea {
  min-height: 6rem;
  border-radius: 6px;
  background: color-mix(in srgb, var(--sup2) 68%, transparent);
}

/* O CONTADOR DE CARACTERES do compositor e da conversa. Ele mora na barra de
 * ações, encostado no botão que publica/envia — é lá que o olho já está quando
 * o texto está pronto. `tabular-nums` porque o número muda a cada tecla: sem
 * ele a barra inteira treme. Ao chegar perto do teto vira âmbar, o mesmo tom
 * que o resto da suíte usa para "atenção", nunca vermelho: passar de 3.800 não
 * é erro, é aviso. */
.dotti-shell .esc-conta {
  flex: 0 0 auto;
  color: var(--texto3);
  font-size: .7rem;
  font-variant-numeric: tabular-nums;
  white-space: nowrap;
}
.dotti-shell .esc-conta.perto { color: var(--amarelo); }

.dotti-shell .escrever textarea:focus-visible,
.dotti-shell :is(.ch-busca input, .cv-escrever textarea):focus-visible {
  outline: 2px solid color-mix(in srgb, var(--marca) 70%, white);
  outline-offset: 2px;
  border-color: transparent;
}

.dotti-shell .cmt {
  padding-block: .7rem;
  border-block-start: 1px solid var(--caa-line);
}

/* ── Fórum ──────────────────────────────────────────────────────────── */
.dotti-shell .forum-real { max-width: 76rem; }
.dotti-shell .forum-real-barra {
  gap: .75rem;
  padding: .75rem;
  border: 1px solid var(--caa-line);
  border-radius: 6px 6px 0 0;
  background: color-mix(in srgb, var(--sup) 92%, transparent);
}

.dotti-shell .forum-real-lista {
  border: 1px solid var(--caa-line);
  border-block-start: 0;
  border-radius: 0 0 6px 6px;
  overflow: clip;
}

.dotti-shell .forum-real-topico {
  display: grid;
  grid-template-columns: 5rem minmax(0, 1fr) auto;
  min-height: 6.25rem;
  padding: 1rem;
  gap: 1rem;
  border-block-end: 1px solid var(--caa-line);
  background: transparent;
}

.dotti-shell .forum-real-topico:last-child { border-block-end: 0; }
.dotti-shell .forum-real-topico:hover { background: color-mix(in srgb, var(--sup2) 48%, transparent); }
.dotti-shell .forum-real-votos { border-inline-end: 1px solid var(--caa-line); padding-inline-end: 1rem; }
.dotti-shell .forum-real-titulo { max-width: 78ch; line-height: 1.45; }
.dotti-shell .forum-real-meta { margin-block-start: .45rem; }
.dotti-shell .forum-real-fixada { color: color-mix(in srgb, var(--marca) 82%, white); }

/* ── Chat ───────────────────────────────────────────────────────────── */
.dotti-shell .chat {
  grid-template-columns: minmax(16rem, 20rem) minmax(0, 1fr);
  gap: 0;
  border: 1px solid var(--caa-line);
  border-radius: 6px;
  overflow: clip;
  background: color-mix(in srgb, var(--sup) 92%, transparent);
}

.dotti-shell .ch-esq,
.dotti-shell .ch-palco {
  border: 0;
  border-radius: 0;
  background: transparent;
}

.dotti-shell .ch-esq { border-inline-end: 1px solid var(--caa-line); }

/* Cabeçalho e filtro da coluna de conversas. A lista abria direto na busca,
 * sem dizer o que ela é nem quantas pessoas tem — e a bolinha de não-lidas
 * existia sem nenhum jeito de agrupar por ela. As abas reusam a gramática das
 * de Notificações (`.nt-aba`): mesma altura, mesmo sublinhado, mesma pílula
 * de contagem. */
.dotti-shell .ch-cabeca {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: .75rem;
  min-height: 3.25rem;
  padding: .9rem .875rem .2rem;
}
.dotti-shell .ch-cabeca b { font-size: .9rem; }
.dotti-shell .ch-cabeca span { color: var(--texto3); font-size: .72rem; }
.dotti-shell .ch-abas { display: flex; gap: 1rem; padding-inline: .875rem; border-block-end: 1px solid var(--caa-line); }
.dotti-shell .ch-aba {
  display: inline-flex;
  align-items: center;
  gap: .4rem;
  min-height: 2.6rem;
  border: 0;
  border-block-end: 2px solid transparent;
  background: none;
  color: var(--texto3);
  font: inherit;
  font-size: .74rem;
  font-weight: 700;
  cursor: pointer;
}
.dotti-shell .ch-aba.on { color: var(--texto); border-block-end-color: var(--marca); }
.dotti-shell .ch-aba span { min-width: 1.3rem; padding: .1rem .36rem; border-radius: 999px; background: var(--sup3); font-size: .68rem; }
.dotti-shell .ch-aba span[hidden] { display: none; }
.dotti-shell .ch-busca { padding: .875rem; }
.dotti-shell .ch-busca input {
  min-height: 2.75rem;
  border-radius: 6px;
  background: color-mix(in srgb, var(--sup2) 72%, transparent);
}

.dotti-shell .ch-item {
  position: relative;
  min-height: 4.8rem;
  padding: .8rem .9rem;
  border-block-end-color: var(--caa-line);
}

.dotti-shell .ch-item.on {
  background: var(--caa-red-soft);
  box-shadow: inset 1px 0 color-mix(in srgb, var(--marca) 76%, white);
}

.dotti-shell .ch-item:focus-visible,
.dotti-shell .nt-item:focus-visible,
.dotti-shell .forum-real-abrir:focus-visible {
  outline: 2px solid color-mix(in srgb, var(--marca) 72%, white);
  outline-offset: -3px;
}

.dotti-shell .cv-topo {
  min-height: 4.5rem;
  padding-inline: 1.125rem;
  background: color-mix(in srgb, var(--sup2) 38%, transparent);
}
.dotti-shell .cv-voltar { display: none; }

.dotti-shell .msgs {
  padding: clamp(1rem, 3vw, 2rem);
  background-image:
    radial-gradient(circle at 82% 12%, color-mix(in srgb, var(--marca) 5%, transparent), transparent 30%),
    linear-gradient(color-mix(in srgb, var(--linha) 30%, transparent) 1px, transparent 1px);
  background-size: auto, 100% 5rem;
}

.dotti-shell .bolha {
  max-width: min(42rem, 82%);
  border-radius: 6px;
  border-color: var(--caa-line);
  box-shadow: none;
}

.dotti-shell .linha-msg.minha .bolha {
  background: color-mix(in srgb, var(--marca) 12%, var(--sup2));
  border-color: color-mix(in srgb, var(--marca) 36%, var(--linha));
}

.dotti-shell .cv-escrever {
  padding: .875rem;
  background: color-mix(in srgb, var(--sup2) 44%, transparent);
}

.dotti-shell .cv-escrever textarea { border-radius: 6px; min-height: 2.75rem; }

/* ── Perfil ─────────────────────────────────────────────────────────── */
.dotti-shell .pf-topo,
.dotti-shell .pf-abas,
.dotti-shell .pf-colunas { max-width: 72rem; }

.dotti-shell .pf-topo {
  border-radius: 6px;
  border-color: var(--caa-line);
}

.dotti-shell .pf-capa {
  height: clamp(9rem, 18vw, 13rem);
  background-image:
    radial-gradient(circle at 15% 20%, color-mix(in srgb, var(--marca) 26%, transparent), transparent 35%),
    linear-gradient(135deg, color-mix(in srgb, var(--sup3) 84%, black), color-mix(in srgb, var(--marca) 10%, var(--sup2)));
}

.dotti-shell .pf-capa::after {
  content: '';
  display: block;
  height: 100%;
  background: linear-gradient(180deg, transparent 45%, color-mix(in srgb, var(--sup) 44%, transparent));
  pointer-events: none;
}

.dotti-shell .pf-cabeca { padding: 1.125rem 1.4rem 1.4rem; }
.dotti-shell .pf-cabeca > .com-ponto { margin-block-start: -3.8rem; }
.dotti-shell .pf-cabeca .retrato.gr {
  width: 6.8rem;
  height: 6.8rem;
  border-width: 3px;
  box-shadow: 0 0 0 1px var(--caa-line);
}

/* UMA COLUNA, porque agora são duas ABAS. O mural e a ficha deixaram de
 * disputar a largura: cada leitura ocupa a página inteira e a outra fica
 * `hidden` (ver `perfil.js`). Sem isto o painel aberto continuaria espremido
 * na faixa de 20rem que a coluna lateral reservava. */
.dotti-shell .pf-colunas { grid-template-columns: minmax(0, 1fr); gap: 1.25rem; }
.dotti-shell .pf-lado {
  position: static;
  border-radius: 6px;
  border-color: var(--caa-line);
  background: transparent;
}

/* As abas do perfil falam a mesma língua das de Notificações e do Bate-papo:
 * mesma altura, mesmo sublinhado vermelho, mesma pílula de contagem. */
.dotti-shell .pf-abas {
  display: flex;
  gap: 1rem;
  margin-block: .25rem .9rem;
  border-block-end: 1px solid var(--caa-line);
}
.dotti-shell .pf-aba {
  display: inline-flex;
  align-items: center;
  gap: .45rem;
  min-height: 3rem;
  border: 0;
  border-block-end: 2px solid transparent;
  background: none;
  color: var(--texto3);
  font: inherit;
  font-weight: 700;
  cursor: pointer;
}
.dotti-shell .pf-aba.on { color: var(--texto); border-block-end-color: var(--marca); }
.dotti-shell .pf-aba span { min-width: 1.35rem; padding: .1rem .38rem; border-radius: 999px; background: var(--sup3); font-size: .7rem; }

.dotti-shell .pf-ficha { border-block-start-color: var(--caa-line); }
.dotti-shell .pf-item { min-height: 2rem; }
.dotti-shell .pf-mural .feed { max-width: none; }
.dotti-shell .pf-estatisticas { display: flex; flex-wrap: wrap; gap: 1rem; margin: .7rem 0 0; }
.dotti-shell .pf-estatisticas > div { display: flex; align-items: baseline; gap: .35rem; }
.dotti-shell .pf-estatisticas dt { color: var(--texto3); font-size: .68rem; }
.dotti-shell .pf-estatisticas dd { margin: 0; color: var(--texto); font-size: .76rem; font-weight: 700; }

/* ── Notificações ───────────────────────────────────────────────────── */
.dotti-shell .nt-painel {
  max-width: 66rem;
  border: 1px solid var(--caa-line);
  border-radius: 6px;
  overflow: clip;
  background: color-mix(in srgb, var(--sup) 92%, transparent);
}

.dotti-shell .nt-resumo {
  display: flex;
  justify-content: space-between;
  gap: 1rem;
  align-items: center;
  min-height: 4.25rem;
  padding: .9rem 1.125rem;
  border-block-end: 1px solid var(--caa-line);
  background: color-mix(in srgb, var(--sup2) 36%, transparent);
}

.dotti-shell .nt-resumo > div { display: grid; gap: .2rem; }
.dotti-shell .nt-resumo span { color: var(--texto3); font-size: .78rem; }
.dotti-shell .nt-contagem { white-space: nowrap; }
.dotti-shell .nt-abas { display: flex; gap: 1rem; padding-inline: 1.125rem; border-block-end: 1px solid var(--caa-line); }

.dotti-shell .nt-aba {
  display: inline-flex;
  align-items: center;
  gap: .45rem;
  min-height: 3rem;
  border: 0;
  border-block-end: 2px solid transparent;
  background: none;
  color: var(--texto3);
  font: inherit;
  font-weight: 700;
  cursor: pointer;
}

.dotti-shell .nt-aba.on { color: var(--texto); border-block-end-color: var(--marca); }
.dotti-shell .nt-aba span { min-width: 1.35rem; padding: .1rem .38rem; border-radius: 999px; background: var(--sup3); font-size: .7rem; }
.dotti-shell .nt-lista { border: 0; border-radius: 0; }
.dotti-shell .nt-item { position: relative; min-height: 5.35rem; padding: 1rem 1.125rem; border-block-end-color: var(--caa-line); }
.dotti-shell .nt-item.nova { box-shadow: inset 1px 0 color-mix(in srgb, var(--marca) 76%, white); background: var(--caa-red-soft); }
.dotti-shell .nt-item.nova .nt-diz::after { content: ''; display: inline-block; width: .38rem; height: .38rem; margin-inline-start: .5rem; border-radius: 999px; background: var(--marca); vertical-align: .14em; }
.dotti-shell .nt-ic { position: relative; border: 1px solid var(--caa-line); background: var(--sup2); }
.dotti-shell .nt-ic::before { font-size: .72rem; font-weight: 800; color: var(--texto2); }
.dotti-shell .nt-ic.tipo-resposta::before { content: 'R'; }
.dotti-shell .nt-ic.tipo-curtida::before { content: 'C'; }
.dotti-shell .nt-ic.tipo-acesso::before { content: 'A'; }
.dotti-shell .nt-ic.tipo-fila::before { content: 'F'; }
.dotti-shell .nt-ic.tipo-geral::before { content: 'N'; }
.dotti-shell .nt-diz { font-weight: 700; }
.dotti-shell .nt-det { margin-block-start: .28rem; max-width: 64ch; line-height: 1.45; }
.dotti-shell .nt-vazio { display: grid; gap: .35rem; place-items: center; min-height: 13rem; padding: 2rem; text-align: center; }
.dotti-shell .nt-vazio span { color: var(--texto3); }

/* ── Chaves e conexões do Robô ─────────────────────────────────────── */
.dotti-shell .robo-raiz .rl-config-section-heading { margin-block: 1.8rem .75rem; }
.dotti-shell .robo-raiz .rl-config-section-heading h2 { font-size: 1.1rem; }
.dotti-shell .robo-raiz .rl-provider-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: .75rem;
}

.dotti-shell .robo-raiz .chave-card {
  position: relative;
  min-width: 0;
  padding: 1rem;
  border: 1px solid var(--caa-line);
  border-inline-start-width: 1px;
  border-radius: 6px;
  background: color-mix(in srgb, var(--sup) 92%, transparent);
  box-shadow: none;
}

.dotti-shell .robo-raiz .chave-card:is(.ok, .falta, .ruim, .vazia, .guardada) { border-inline-start-color: var(--caa-line); }
.dotti-shell .robo-raiz .chave-card.ok { background: linear-gradient(135deg, color-mix(in srgb, var(--ok) 5%, var(--sup)), var(--sup) 42%); }
.dotti-shell .robo-raiz .chave-card.falta { background: linear-gradient(135deg, color-mix(in srgb, var(--amarelo) 5%, var(--sup)), var(--sup) 42%); }
.dotti-shell .robo-raiz .ch-topo { align-items: center; }
.dotti-shell .robo-raiz .ch-nome { font-size: 1rem; }
.dotti-shell .robo-raiz .rl-provider-logo { width: 2.5rem; height: 2.5rem; border-radius: 6px; background-color: var(--sup2); }
.dotti-shell .robo-raiz .chaves-linhas { margin-block-start: .8rem; padding-block-start: .75rem; border-block-start: 1px solid var(--caa-line); }
.dotti-shell .robo-raiz .chave-linha { grid-template-columns: minmax(0, 1fr) auto; align-items: center; }
.dotti-shell .robo-raiz .abrir-chave { min-height: 2.3rem; }
.dotti-shell .robo-raiz .conexao-heygen { border-radius: 6px; border-color: var(--caa-line); }

/* ── Supervisão do Robô: os quatro números viraram recorte ───────────── */

/* SEM O PREFIXO `.dotti-shell` DE PROPÓSITO, e isto é a parte que importa.
 * O indicador virou `<button>` e precisa perder a moldura que o navegador põe
 * em botão — mas `linhas.css` desenha DUAS bordas nesses mesmos elementos: a
 * divisória vertical (`border-right`) e, na tela estreita, a horizontal dos
 * dois primeiros (`:nth-child(-n+2)`). Com `.dotti-shell` na frente este
 * seletor venceria a regra estreita e comeria aquela divisória. Sem ele a
 * especificidade fica ABAIXO dela e acima só do padrão do navegador, que é
 * exatamente o alcance que este reset precisa ter. `border-right` não aparece
 * aqui pelo mesmo motivo: quem manda nela é `linhas.css`. */
.admin-real-resumo > button {
  border-top: 0;
  border-left: 0;
  border-bottom: 0;
  background: transparent;
  color: inherit;
  font: inherit;
  text-align: left;
  cursor: pointer;
}
.dotti-shell .admin-real-resumo > button:hover { background: color-mix(in srgb, var(--sup2) 55%, transparent); }
/* O recorte apertado usa o mesmo traço vermelho das abas logo abaixo — é a
 * mesma ideia (o que está selecionado), então é a mesma marca. */
.dotti-shell .admin-real-resumo > button[aria-pressed="true"] {
  background: color-mix(in srgb, var(--marca) 8%, transparent);
  box-shadow: inset 0 -2px var(--marca);
}
.dotti-shell .admin-real-resumo > button[aria-pressed="true"] > span { color: var(--texto); }

.dotti-shell .admin-real-log-acoes { display: flex; align-items: center; gap: .7rem; }

/* ── Administração: mesma gramática para fila, alunos, menu e planos ── */
.dotti-shell .admin-suite { display: grid; gap: 1rem; max-width: 76rem; }
.dotti-shell .admin-suite > .tiles {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(10rem, 1fr));
  gap: 0;
  border: 1px solid var(--caa-line);
  border-radius: 6px;
  overflow: clip;
}

.dotti-shell .admin-suite > .tiles .tile {
  min-height: 7.5rem;
  padding: 1rem;
  border: 0;
  border-inline-end: 1px solid var(--caa-line);
  border-radius: 0;
  background: transparent;
}

.dotti-shell .admin-suite > .tiles .tile:last-child { border-inline-end: 0; }
.dotti-shell .admin-suite > .tiles .val { margin-block: .5rem .2rem; font-size: 1.55rem; }
.dotti-shell .admin-suite > .rolagem {
  border: 1px solid var(--caa-line);
  border-radius: 6px;
  background: color-mix(in srgb, var(--sup) 92%, transparent);
}

.dotti-shell .admin-suite table { min-width: 56rem; }
.dotti-shell .admin-suite :is(th, td) { padding: .8rem .9rem; vertical-align: middle; }
.dotti-shell .admin-suite th { background: color-mix(in srgb, var(--sup2) 45%, transparent); }
.dotti-shell .admin-suite tbody tr:hover { background: color-mix(in srgb, var(--sup2) 44%, transparent); }

.dotti-shell .admin-planos { grid-template-columns: repeat(2, minmax(0, 1fr)); align-items: start; }
.dotti-shell .admin-planos > :is(.aviso, .pl-secao, .dica) { grid-column: 1 / -1; }
.dotti-shell .admin-planos .pl-cartao {
  height: 100%;
  border-radius: 6px;
  border-color: var(--caa-line);
  background: transparent;
}
.dotti-shell .admin-planos .pl-cartao.novo { background: color-mix(in srgb, var(--sup2) 28%, transparent); }
.dotti-shell .admin-planos .pl-cartao.gerenciado { position: relative; }
.dotti-shell .admin-planos .pl-selo-sistema {
  position: absolute;
  inset-block-start: .8rem;
  inset-inline-end: .8rem;
  padding: .2rem .5rem;
  border: 1px solid var(--caa-line);
  border-radius: 999px;
  color: var(--texto2);
  font-size: .72rem;
  line-height: 1;
}
.dotti-shell .admin-planos .pl-cartao.gerenciado :is(input, button) { cursor: not-allowed; }
.dotti-shell .admin-planos .pl-abre summary { min-height: 3rem; border-block: 1px solid var(--caa-line); }
.dotti-shell .admin-planos .pl-acoes { padding-block-start: .8rem; }

.dotti-shell .admin-menu .mn-lista {
  border-radius: 6px;
  border-color: var(--caa-line);
  background: transparent;
}
.dotti-shell .admin-menu .mn-grupo-linha { background: color-mix(in srgb, var(--sup2) 50%, transparent); }
.dotti-shell .admin-menu .mn-item { min-height: 3.4rem; }
.dotti-shell .admin-menu .mn-setas .btn { min-width: 2.35rem; min-height: 2.35rem; }

/* ── Reduções e toque ───────────────────────────────────────────────── */
@media (max-width: 72rem) {
  .dotti-shell .feed-duplo { grid-template-columns: minmax(12rem, 14rem) minmax(0, 1fr); }
  .dotti-shell .feed-duplo > .pessoas { display: none; }
  .dotti-shell .robo-raiz .rl-provider-grid { grid-template-columns: 1fr; }
}

@media (max-width: 62rem) {
  .dotti-shell .feed-duplo { grid-template-columns: 1fr; }
  .dotti-shell .feed-duplo > .atalhos { display: none; }
  .dotti-shell .pf-colunas { grid-template-columns: 1fr; }
  .dotti-shell .pf-lado { position: static; }
  .dotti-shell .admin-planos { grid-template-columns: 1fr; }
}

@media (max-width: 56.25rem) {
  .dotti-shell .chat { grid-template-columns: 1fr; overflow: visible; }
  .dotti-shell .chat.tem-conversa .ch-esq { display: none; }
  .dotti-shell .chat:not(.tem-conversa) .ch-palco { display: none; }
  .dotti-shell .ch-esq { min-height: 32rem; max-height: min(70vh, 42rem); border-inline-end: 0; }
  .dotti-shell .ch-palco { min-height: 34rem; }
  .dotti-shell .cv-voltar { display: inline-flex; min-height: 2.25rem; align-items: center; padding: 0 .7rem; border: 1px solid var(--caa-line); border-radius: 6px; background: transparent; color: var(--texto2); font: inherit; font-size: .72rem; cursor: pointer; }
  .dotti-shell .forum-real-topico { grid-template-columns: 3.5rem minmax(0, 1fr); }
  .dotti-shell .forum-real-abrir { grid-column: 2; justify-self: start; }
  .dotti-shell .admin-suite > .tiles { grid-template-columns: repeat(2, 1fr); }
  .dotti-shell .admin-suite > .tiles .tile:nth-child(2n) { border-inline-end: 0; }
  .dotti-shell .admin-suite > .tiles .tile:nth-child(-n + 2) { border-block-end: 1px solid var(--caa-line); }
}

@media (max-width: 40rem) {
  .dotti-shell .escrever,
  .dotti-shell .post { padding: .9rem; border-radius: 6px; }
  .dotti-shell .post .p-acoes { margin-inline: -.9rem; margin-block-end: -.9rem; padding-inline: .9rem; }
  .dotti-shell .forum-real-barra { align-items: stretch; }
  .dotti-shell .forum-real-busca,
  .dotti-shell .forum-real-ordem { width: 100%; min-height: 2.75rem; font-size: 1rem; }
  .dotti-shell .forum-real-topico { grid-template-columns: 1fr; gap: .55rem; }
  .dotti-shell .forum-real-votos { border-inline-end: 0; padding-inline-end: 0; display: flex; gap: .4rem; align-items: baseline; }
  .dotti-shell .forum-real-abrir { grid-column: 1; }
  .dotti-shell .pf-cabeca { align-items: flex-start; flex-wrap: wrap; }
  .dotti-shell .pf-quem2 { min-width: calc(100% - 8rem); }
  .dotti-shell .pf-acoes2 { width: 100%; }
  .dotti-shell .pf-capa-acao { right: .8rem; }
  .dotti-shell .nt-resumo { align-items: flex-start; }
  .dotti-shell .nt-contagem { display: none; }
  .dotti-shell .nt-item { align-items: flex-start; }
  .dotti-shell .nt-quando { position: absolute; right: .9rem; margin-block-start: .1rem; }
  .dotti-shell .nt-txt { padding-inline-end: 4.5rem; }
  .dotti-shell .admin-suite > .tiles { grid-template-columns: 1fr 1fr; }
  .dotti-shell .admin-menu .mn-item { display: grid; grid-template-columns: auto minmax(0, 1fr) auto; }
  .dotti-shell .admin-menu .mn-chave { grid-column: 2; }
  .dotti-shell .admin-menu .mn-setas { grid-column: 3; grid-row: 1 / span 2; }
  .dotti-shell input,
  .dotti-shell textarea,
  .dotti-shell select { font-size: 1rem; }
}

@media (prefers-reduced-motion: reduce) {
  .dotti-shell :is(.post, .forum-real-topico, .ch-item, .nt-item) { transition: none; }
}

/* ── Fórum v2: arquitetura completa da referência ───────────────────── */
.dotti-shell .forum-real-intro {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1.25rem;
  margin-block-end: .9rem;
  padding: 1rem 1.125rem;
  border: 1px solid var(--caa-line);
  border-radius: 6px;
  background:
    radial-gradient(circle at 9% 0%, color-mix(in srgb, var(--marca) 10%, transparent), transparent 32%),
    color-mix(in srgb, var(--sup) 93%, transparent);
}
.dotti-shell .forum-real-intro b { font-size: 1rem; }
.dotti-shell .forum-real-intro p { margin: .3rem 0 0; color: var(--texto3); font-size: .8rem; }
.dotti-shell .forum-real-novo {
  margin-block-end: .9rem;
  padding: 1rem;
  border: 1px solid color-mix(in srgb, var(--marca) 26%, var(--linha));
  border-radius: 6px;
  background: color-mix(in srgb, var(--marca) 5%, var(--sup));
}
.dotti-shell .forum-real-novo[hidden] { display: none; }
.dotti-shell .forum-real-novo-cabeca { display: grid; gap: .2rem; margin-block-end: .7rem; }
.dotti-shell .forum-real-novo textarea { width: 100%; min-height: 7rem; resize: vertical; }
.dotti-shell .forum-real-novo-acoes { display: flex; justify-content: flex-end; align-items: center; gap: .6rem; margin-block-start: .7rem; }
.dotti-shell .forum-real-barra {
  grid-template-columns: minmax(0, 1fr) auto;
  margin-block-end: .9rem;
  border-radius: 6px;
  border-block-start: 1px solid var(--caa-line);
}
.dotti-shell .forum-real-barra label { display: grid; gap: .3rem; color: var(--texto3); font-size: .7rem; font-weight: 700; }
.dotti-shell .forum-real-busca { flex: 1; }
.dotti-shell .forum-real-busca input { min-width: 0; width: 100%; }
.dotti-shell .forum-real-ordem { min-width: 13rem; }
.dotti-shell .forum-real-layout {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(15.5rem, 18rem);
  align-items: start;
  gap: 1.25rem;
}
.dotti-shell .forum-real-lista {
  border-block-start: 1px solid var(--caa-line);
  border-radius: 6px;
  background: color-mix(in srgb, var(--sup) 93%, transparent);
}
.dotti-shell .forum-real-lista > ul { margin: 0; padding: 0; list-style: none; }
.dotti-shell .forum-real-lista > ul > li { border-block-end: 1px solid var(--caa-line); }
.dotti-shell .forum-real-lista > ul > li:last-child { border-block-end: 0; }
.dotti-shell .forum-real-topico {
  width: 100%;
  min-height: 7rem;
  padding: .9rem;
  grid-template-columns: 3.8rem minmax(0, 1fr) 4.6rem 1.15rem;
  align-items: center;
  gap: .9rem;
  border: 0;
  background: transparent;
  color: inherit;
  text-align: start;
  cursor: pointer;
}
.dotti-shell .forum-real-topico:hover { background: color-mix(in srgb, var(--sup2) 54%, transparent); }
.dotti-shell .forum-real-votos {
  min-height: 3.9rem;
  display: grid;
  place-items: center;
  align-content: center;
  gap: .15rem;
  padding-inline-end: .9rem;
  border: 0;
  border-inline-end: 1px solid var(--caa-line);
  background: none;
  color: var(--texto3);
}
.dotti-shell .forum-real-votos b,
.dotti-shell .forum-real-contagem b { color: var(--texto); font-size: 1rem; }
.dotti-shell .forum-real-votos small,
.dotti-shell .forum-real-contagem small { color: var(--texto3); font-size: .65rem; font-weight: 500; }
.dotti-shell .forum-real-corpo { min-width: 0; display: grid; gap: .45rem; padding: 0; }
.dotti-shell .forum-real-titulo {
  display: -webkit-box;
  overflow: hidden;
  max-width: 72ch;
  color: var(--texto);
  font-size: .92rem;
  line-height: 1.42;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}
.dotti-shell .forum-real-meta { display: flex; align-items: center; gap: .42rem; margin: 0; color: var(--texto3); font-size: .72rem; }
.dotti-shell .forum-real-meta .retrato { width: 1.45rem; height: 1.45rem; font-size: .58rem; }
.dotti-shell .forum-real-fixada { width: max-content; margin: 0; padding: .14rem .4rem; border: 1px solid color-mix(in srgb, var(--marca) 24%, var(--linha)); border-radius: 999px; font-size: .62rem; letter-spacing: 0; text-transform: none; }
.dotti-shell .forum-real-contagem { display: grid; justify-items: end; gap: .12rem; }
.dotti-shell .forum-real-abrir { color: var(--texto3); font-size: 1rem; }
.dotti-shell .forum-real-mais { padding: .8rem; border-block-start: 1px solid var(--caa-line); text-align: center; }
.dotti-shell .forum-real-vazio { min-height: 15rem; display: grid; place-content: center; gap: .35rem; padding: 2rem; text-align: center; }
.dotti-shell .forum-real-vazio p { margin: 0; color: var(--texto3); }
.dotti-shell .forum-real-lateral { display: grid; gap: .9rem; }
.dotti-shell .forum-real-lateral > section {
  padding: 1rem;
  border: 1px solid var(--caa-line);
  border-radius: 6px;
  background: color-mix(in srgb, var(--sup) 93%, transparent);
}
.dotti-shell .forum-real-lateral h2 { margin: 0; font-size: .86rem; }
.dotti-shell .forum-real-lateral > section > p { margin: .55rem 0 0; color: var(--texto3); font-size: .75rem; line-height: 1.52; }
.dotti-shell .forum-real-resumo { display: grid; grid-template-columns: repeat(2, 1fr); margin-block-start: .85rem; padding-block-start: .75rem; border-block-start: 1px solid var(--caa-line); }
.dotti-shell .forum-real-resumo > div { display: grid; gap: .18rem; }
.dotti-shell .forum-real-resumo dt { color: var(--texto3); font-size: .65rem; }
.dotti-shell .forum-real-resumo dd { margin: 0; color: var(--texto); font-size: 1.1rem; font-weight: 700; }
.dotti-shell .forum-real-em-alta,
.dotti-shell .forum-real-regras { margin: .65rem 0 0; padding: 0; list-style: none; }
.dotti-shell .forum-real-em-alta li,
.dotti-shell .forum-real-regras li { display: grid; grid-template-columns: 1.5rem minmax(0, 1fr); gap: .5rem; padding: .55rem 0; border-block-end: 1px solid var(--caa-line); }
.dotti-shell .forum-real-em-alta li:last-child,
.dotti-shell .forum-real-regras li:last-child { border-block-end: 0; }
.dotti-shell .forum-real-em-alta li > span,
.dotti-shell .forum-real-regras li > span { width: 1.4rem; height: 1.4rem; display: grid; place-items: center; border: 1px solid var(--caa-line); border-radius: 50%; color: var(--texto3); font-size: .58rem; }
.dotti-shell .forum-real-em-alta button { display: grid; gap: .2rem; padding: 0; border: 0; background: none; color: inherit; text-align: start; cursor: pointer; }
.dotti-shell .forum-real-em-alta b { display: -webkit-box; overflow: hidden; font-size: .72rem; line-height: 1.35; -webkit-box-orient: vertical; -webkit-line-clamp: 2; }
.dotti-shell .forum-real-em-alta small { color: var(--texto3); font-size: .65rem; }
.dotti-shell .forum-real-regras p { margin: .05rem 0 0; color: var(--texto3); font-size: .72rem; line-height: 1.4; }

@media (max-width: 68rem) {
  .dotti-shell .forum-real-layout { grid-template-columns: 1fr; }
  .dotti-shell .forum-real-lateral { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .dotti-shell .forum-real-lateral > section:last-child { grid-column: 1 / -1; }
}
@media (max-width: 42rem) {
  .dotti-shell .forum-real-intro { align-items: flex-start; flex-direction: column; }
  .dotti-shell .forum-real-intro .btn { width: 100%; }
  .dotti-shell .forum-real-barra { grid-template-columns: 1fr; }
  .dotti-shell .forum-real-ordem { min-width: 0; }
  .dotti-shell .forum-real-topico { min-height: 6.4rem; grid-template-columns: 3rem minmax(0, 1fr) 1rem; padding: .75rem; gap: .7rem; }
  .dotti-shell .forum-real-votos { min-height: 3.2rem; padding-inline-end: .65rem; }
  .dotti-shell .forum-real-contagem { display: none; }
  .dotti-shell .forum-real-meta { align-items: flex-start; }
  .dotti-shell .forum-real-lateral { grid-template-columns: 1fr; }
  .dotti-shell .forum-real-lateral > section:last-child { grid-column: auto; }
}

/* ── Rede social v2: conversa + descoberta, sem atalhos duplicados ─── */
.dotti-shell .feed-duplo {
  grid-template-columns: minmax(0, 46rem) minmax(15.5rem, 18rem);
  justify-content: start;
  gap: 1.25rem;
  max-width: 66rem;
}
.dotti-shell .feed-real-intro {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  padding: .9rem 1rem;
  border: 1px solid var(--caa-line);
  border-radius: 6px;
  background: color-mix(in srgb, var(--sup) 93%, transparent);
}
.dotti-shell .feed-real-intro p { margin: .25rem 0 0; color: var(--texto3); font-size: .76rem; }
.dotti-shell .feed-lateral { display: grid; gap: .9rem; align-self: start; position: sticky; top: 4.5rem; }
.dotti-shell .feed-lateral > :is(.pessoas, .feed-conversas) {
  position: static;
  border-radius: 6px;
  border-color: var(--caa-line);
  background: color-mix(in srgb, var(--sup) 93%, transparent);
}
.dotti-shell .feed-conversas { padding: 1rem; }
.dotti-shell .feed-conversas h2 { margin: 0; font-size: .86rem; }
.dotti-shell .feed-em-conversa { margin: .65rem 0 0; padding: 0; list-style: none; }
.dotti-shell .feed-em-conversa li { display: grid; grid-template-columns: 1.45rem minmax(0, 1fr); gap: .5rem; padding: .55rem 0; border-block-end: 1px solid var(--caa-line); }
.dotti-shell .feed-em-conversa li:last-child { border-block-end: 0; }
.dotti-shell .feed-em-conversa li > span { width: 1.35rem; height: 1.35rem; display: grid; place-items: center; border: 1px solid var(--caa-line); border-radius: 50%; color: var(--texto3); font-size: .56rem; }
.dotti-shell .feed-em-conversa button { display: grid; gap: .2rem; padding: 0; border: 0; background: none; color: inherit; text-align: start; cursor: pointer; }
.dotti-shell .feed-em-conversa b { display: -webkit-box; overflow: hidden; font-size: .72rem; line-height: 1.35; -webkit-box-orient: vertical; -webkit-line-clamp: 2; }
.dotti-shell .feed-em-conversa small { color: var(--texto3); font-size: .65rem; }
@media (max-width: 64rem) {
  .dotti-shell .feed-duplo { grid-template-columns: minmax(0, 1fr); max-width: 46rem; }
  .dotti-shell .feed-lateral { position: static; grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 42rem) {
  .dotti-shell .feed-real-intro { align-items: flex-start; flex-direction: column; }
  .dotti-shell .feed-real-intro .btn { width: 100%; }
  .dotti-shell .feed-lateral { grid-template-columns: 1fr; }
}

/* ── Conta / Chaves e conexões ──────────────────────────────────────
 * A tela real segue o mesmo master-detail aprovado no simulador: primeiro a
 * função da API, depois o provedor e só então o formulário. O escopo começa
 * em `.pagina-config .config-real` para os cartões de Integrações do Robô não
 * herdarem nenhuma destas decisões. */
.dotti-shell .pagina-config .config-real {
  --cfg-line: color-mix(in srgb, var(--linhas-regra) 92%, transparent);
  --cfg-line-strong: var(--linhas-regra-forte);
  --cfg-type-kicker: .8125rem;
  --cfg-type-meta: .875rem;
  --cfg-type-label: .9375rem;
  --cfg-type-body: 1rem;
  --cfg-type-strong: 1rem;
  --cfg-type-section: 1.25rem;
  min-width: 0;
  font-size: var(--cfg-type-body);
  line-height: 1.5;
  container: conta-config / inline-size;
}

.dotti-shell .pagina-config .config-real [hidden] { display: none !important; }

.dotti-shell .pagina-config .cabeca .sub {
  max-width: 65ch;
  font-size: 1rem;
  line-height: 1.5;
}

.dotti-shell .pagina-config .conta-config-context {
  margin: 0 0 .7rem;
  color: var(--texto3);
  font-size: var(--cfg-type-meta);
  line-height: 1.5;
}

.dotti-shell .pagina-config .conta-config-notice {
  min-height: 4.75rem;
  margin-block-end: 1rem;
  padding: .8rem .95rem .8rem 3rem;
  display: grid;
  align-content: center;
  gap: .22rem;
  position: relative;
  border: 1px solid var(--cfg-line-strong);
  border-radius: 10px;
  background: color-mix(in srgb, var(--linhas-superficie) 76%, transparent);
}

.dotti-shell .pagina-config .conta-config-notice::before {
  content: "";
  position: absolute;
  left: 1rem;
  top: 50%;
  width: .7rem;
  height: .7rem;
  translate: 0 -50%;
  border: 2px solid var(--ok);
  border-radius: 50%;
  box-shadow: 0 0 0 4px color-mix(in srgb, var(--ok) 9%, transparent);
}

.dotti-shell .pagina-config .conta-config-notice.erro::before {
  border-color: var(--erro);
  box-shadow: 0 0 0 4px color-mix(in srgb, var(--erro) 9%, transparent);
}

.dotti-shell .pagina-config .conta-config-notice strong {
  color: var(--texto);
  font-size: var(--cfg-type-strong);
}

.dotti-shell .pagina-config .conta-config-notice p {
  margin: 0;
  max-width: 72ch;
  color: var(--texto2);
  font-size: var(--cfg-type-body);
  line-height: 1.5;
}

.dotti-shell .pagina-config .conta-config-layout {
  min-height: 42.5rem;
  display: grid;
  grid-template-columns: 16rem minmax(0, 1fr);
  overflow: hidden;
  border: 1px solid var(--cfg-line-strong);
  border-radius: 14px;
  background: var(--linhas-plano);
}

.dotti-shell .pagina-config .conta-config-nav {
  min-width: 0;
  padding: .875rem .5625rem;
  display: grid;
  align-content: start;
  gap: .1875rem;
  border-inline-end: 1px solid var(--cfg-line);
  background: linear-gradient(180deg, var(--linhas-superficie), var(--linhas-plano) 72%);
}

.dotti-shell .pagina-config .conta-config-nav > strong {
  padding: .625rem .5625rem .375rem;
  color: var(--texto3);
  font-size: var(--cfg-type-kicker);
  font-weight: 750;
  letter-spacing: .09em;
  text-transform: uppercase;
}

.dotti-shell .pagina-config .conta-config-nav nav {
  display: grid;
  gap: .1875rem;
}

.dotti-shell .pagina-config .conta-config-nav button {
  width: 100%;
  min-height: 3.5rem;
  padding: .55rem .7rem;
  display: grid;
  align-content: center;
  gap: .13rem;
  border: 0;
  border-radius: 7px;
  background: transparent;
  color: var(--texto2);
  font: inherit;
  cursor: pointer;
  text-align: start;
}

.dotti-shell .pagina-config .conta-config-nav button:hover {
  background: var(--linhas-elevado);
  color: var(--texto);
}

.dotti-shell .pagina-config .conta-config-nav button.ativo {
  background: linear-gradient(90deg, var(--linhas-vermelho-sinal), color-mix(in srgb, var(--marca) 2.5%, transparent));
  color: var(--texto);
  box-shadow: inset 2px 0 var(--marca);
}

.dotti-shell .pagina-config .conta-config-nav button span {
  overflow: hidden;
  font-size: var(--cfg-type-label);
  font-weight: 650;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.dotti-shell .pagina-config .conta-config-nav button small {
  overflow: hidden;
  color: var(--texto3);
  font-size: var(--cfg-type-meta);
  text-overflow: ellipsis;
  white-space: nowrap;
}

.dotti-shell .pagina-config .conta-config-main {
  min-width: 0;
  padding: clamp(1.25rem, 2.7vw, 2rem);
}

.dotti-shell .pagina-config .conta-config-section-heading {
  min-width: 0;
  display: grid;
  gap: .3rem;
  margin-block-end: 1rem;
}

.dotti-shell .pagina-config .conta-config-section-heading h2 {
  margin: 0;
  color: var(--texto);
  font-size: var(--cfg-type-section);
  font-weight: 700;
  letter-spacing: -.015em;
}

.dotti-shell .pagina-config .conta-config-section-heading p {
  margin: 0;
  max-width: 68ch;
  color: var(--texto2);
  font-size: var(--cfg-type-body);
  line-height: 1.5;
}

.dotti-shell .pagina-config .conta-config-section-heading small {
  width: max-content;
  max-width: 100%;
  margin-block-start: .2rem;
  padding: .2rem .45rem;
  overflow: hidden;
  border: 1px solid color-mix(in srgb, var(--ok) 24%, var(--cfg-line));
  border-radius: 999px;
  background: color-mix(in srgb, var(--ok) 6%, transparent);
  color: var(--texto2);
  font-size: var(--cfg-type-meta);
  overflow-wrap: anywhere;
  white-space: normal;
}

.dotti-shell .pagina-config .conta-provider-guide {
  min-height: 3.25rem;
  margin-block-end: .875rem;
  padding: .55rem .75rem;
  display: flex;
  align-items: center;
  gap: .625rem;
  border-block: 1px solid var(--cfg-line);
  color: var(--texto3);
  font-size: var(--cfg-type-meta);
}

.dotti-shell .pagina-config .conta-provider-guide span {
  display: inline-flex;
  align-items: center;
  gap: .375rem;
}

.dotti-shell .pagina-config .conta-provider-guide span + span::before {
  content: "→";
  margin-inline-end: .08rem;
  color: var(--texto3);
  opacity: .7;
}

.dotti-shell .pagina-config .conta-provider-guide b {
  width: 1.375rem;
  height: 1.375rem;
  display: grid;
  place-items: center;
  flex: 0 0 auto;
  border: 1px solid var(--cfg-line-strong);
  border-radius: 50%;
  color: var(--texto);
  font-size: .75rem;
}

.dotti-shell .pagina-config .conta-provider-ledger {
  display: grid;
  gap: .5625rem;
}

.dotti-shell .pagina-config .conta-provider-row {
  min-width: 0;
  overflow: hidden;
  border: 1px solid var(--cfg-line);
  border-radius: 12px;
  background: color-mix(in srgb, var(--linhas-superficie) 58%, var(--linhas-plano));
}

.dotti-shell .pagina-config .conta-provider-row:has(.conta-provider-summary[aria-expanded="true"]) {
  border-color: color-mix(in srgb, var(--marca) 18%, var(--cfg-line-strong));
  background: color-mix(in srgb, var(--linhas-superficie) 78%, var(--linhas-plano));
}

.dotti-shell .pagina-config .conta-provider-summary {
  width: 100%;
  min-height: 5.25rem;
  padding: .8rem .9rem;
  display: grid;
  grid-template-columns: 2.625rem minmax(12.5rem, 1fr) 7.5rem auto 1.125rem;
  align-items: center;
  gap: .6875rem;
  border: 0;
  border-radius: 0;
  background: transparent;
  color: var(--texto2);
  font: inherit;
  cursor: pointer;
  text-align: start;
}

.dotti-shell .pagina-config .conta-provider-summary:hover {
  background: color-mix(in srgb, var(--linhas-elevado) 78%, transparent);
}

.dotti-shell .pagina-config .conta-provider-summary:focus-visible,
.dotti-shell .pagina-config .conta-config-nav button:focus-visible {
  outline: 2px solid var(--linhas-foco);
  outline-offset: -3px;
}

.dotti-shell .pagina-config .conta-provider-mark {
  --conta-brand-scale: .78;
  width: 2.375rem;
  height: 2.375rem;
  display: grid;
  place-items: center;
  overflow: hidden;
  border: 1px solid var(--cfg-line-strong);
  border-radius: 10px;
  background: #f5f5f5;
  color: #15171a;
}

.dotti-shell .pagina-config .conta-provider-mark img {
  width: calc(100% * var(--conta-brand-scale));
  height: calc(100% * var(--conta-brand-scale));
  display: block;
  object-fit: contain;
}

.dotti-shell .pagina-config .conta-provider-mark.fit-tile {
  --conta-brand-scale: 1;
}

.dotti-shell .pagina-config .conta-provider-mark.fit-wide {
  --conta-brand-scale: .82;
}

.dotti-shell .pagina-config .conta-provider-mark.brand-kie {
  --conta-brand-scale: .72;
}

/* A marca oficial da fal.ai e' branca. O azulejo escuro preserva o arquivo
 * original e o contraste, sem recolorir o simbolo por CSS. */
.dotti-shell .pagina-config .conta-provider-mark.brand-fal {
  --conta-brand-scale: .76;
  background: #111315;
}

.dotti-shell .pagina-config .conta-provider-mark.fallback {
  background: var(--linhas-elevado);
  color: var(--texto);
}

.dotti-shell .pagina-config .conta-provider-mark b { font-size: var(--cfg-type-meta); }

.dotti-shell .pagina-config .conta-provider-name {
  min-width: 0;
  display: grid;
  gap: .15rem;
}

.dotti-shell .pagina-config .conta-provider-name strong {
  overflow: hidden;
  color: var(--texto);
  font-size: var(--cfg-type-strong);
  font-weight: 650;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.dotti-shell .pagina-config .conta-provider-name small {
  display: -webkit-box;
  overflow: hidden;
  color: var(--texto3);
  font-size: var(--cfg-type-meta);
  line-height: 1.4;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}

.dotti-shell .pagina-config .conta-provider-secret {
  color: var(--texto3);
  font-family: ui-monospace, SFMono-Regular, Consolas, monospace;
  font-size: var(--cfg-type-kicker);
  white-space: nowrap;
}

.dotti-shell .pagina-config .conta-provider-status {
  min-height: 1.75rem;
  padding: .2rem .5rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: .35rem;
  justify-self: end;
  border: 1px solid var(--cfg-line-strong);
  border-radius: 999px;
  color: var(--texto2);
  font-size: var(--cfg-type-kicker);
  font-weight: 700;
  white-space: nowrap;
}

.dotti-shell .pagina-config .conta-provider-status i {
  width: .36rem;
  height: .36rem;
  border-radius: 50%;
  background: var(--texto3);
  box-shadow: 0 0 0 3px color-mix(in srgb, var(--texto3) 8%, transparent);
}

.dotti-shell .pagina-config .conta-provider-status.ok {
  border-color: color-mix(in srgb, var(--ok) 30%, var(--cfg-line));
  background: color-mix(in srgb, var(--ok) 6%, transparent);
  color: var(--ok);
}
.dotti-shell .pagina-config .conta-provider-status.ok i { background: var(--ok); }
.dotti-shell .pagina-config .conta-provider-status.mau {
  border-color: color-mix(in srgb, var(--erro) 30%, var(--cfg-line));
  background: color-mix(in srgb, var(--erro) 6%, transparent);
  color: var(--erro);
}
.dotti-shell .pagina-config .conta-provider-status.mau i { background: var(--erro); }
.dotti-shell .pagina-config .conta-provider-status.guardada {
  border-color: color-mix(in srgb, var(--amarelo) 28%, var(--cfg-line));
  background: color-mix(in srgb, var(--amarelo) 5%, transparent);
  color: var(--amarelo);
}
.dotti-shell .pagina-config .conta-provider-status.guardada i { background: var(--amarelo); }

.dotti-shell .pagina-config .conta-provider-chevron {
  width: 1.1rem;
  height: 1.1rem;
  position: relative;
  color: var(--texto3);
  transition: transform 160ms ease;
}

.dotti-shell .pagina-config .conta-provider-chevron::before {
  content: "";
  position: absolute;
  left: .31rem;
  top: .24rem;
  width: .4rem;
  height: .4rem;
  border-inline-end: 1.5px solid currentColor;
  border-block-end: 1.5px solid currentColor;
  rotate: 45deg;
}

.dotti-shell .pagina-config .conta-provider-chevron.aberto { transform: rotate(180deg); }

.dotti-shell .pagina-config .conta-provider-editor {
  padding: 1.125rem .875rem 1rem 4.125rem;
  border-block-start: 1px solid var(--cfg-line);
  background: color-mix(in srgb, var(--linhas-plano) 72%, var(--linhas-superficie));
}

.dotti-shell .pagina-config .conta-provider-controls {
  min-width: 0;
  display: grid;
  grid-template-columns: minmax(14.375rem, 1.35fr) minmax(10rem, .7fr) minmax(9.0625rem, .65fr);
  align-items: start;
  gap: .625rem;
}

.dotti-shell .pagina-config .conta-provider-controls > :only-child {
  grid-column: 1 / -1;
  max-width: 35rem;
}

.dotti-shell .pagina-config .conta-field,
.dotti-shell .pagina-config .modelo-escolha {
  min-width: 0;
  display: grid;
  align-content: start;
  gap: .38rem;
  color: var(--texto2);
  font-size: var(--cfg-type-meta);
  font-weight: 700;
}

.dotti-shell .pagina-config .conta-field > span,
.dotti-shell .pagina-config .modelo-escolha > label {
  color: var(--texto2);
  font-family: var(--corpo);
  font-size: var(--cfg-type-label);
  font-weight: 650;
  letter-spacing: normal;
  text-transform: none;
}

.dotti-shell .pagina-config .config-real .conta-provider-editor :is(.conta-field, .modelo-escolha) :is(input, select) {
  width: 100%;
  min-width: 0;
  min-height: 2.75rem;
  font-size: var(--cfg-type-body);
  font-weight: 500;
}

.dotti-shell .pagina-config :is(.conta-field, .modelo-escolha) small,
.dotti-shell .pagina-config .modelo-escolha > .dica {
  margin: 0;
  color: var(--texto3);
  font-size: var(--cfg-type-kicker);
  font-weight: 450;
  line-height: 1.45;
}

.dotti-shell .pagina-config .linha-modelo {
  min-width: 0;
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: .4rem;
}

.dotti-shell .pagina-config .linha-modelo datalist { display: none; }
.dotti-shell .pagina-config .linha-modelo .btn {
  min-height: 2.75rem;
  font-size: var(--cfg-type-meta);
  white-space: nowrap;
}

.dotti-shell .pagina-config .conta-provider-saved {
  min-height: 6.25rem;
  padding: .7rem;
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-content: center;
  gap: .25rem .625rem;
  border: 1px solid var(--cfg-line);
  border-radius: 9px;
  background: var(--linhas-plano);
}

.dotti-shell .pagina-config .conta-provider-saved > span {
  color: var(--texto);
  font-size: var(--cfg-type-strong);
  font-weight: 650;
}

.dotti-shell .pagina-config .conta-provider-saved p {
  margin: 0;
  color: var(--texto3);
  font-size: var(--cfg-type-kicker);
  line-height: 1.45;
}

.dotti-shell .pagina-config .conta-provider-saved > .btn {
  grid-column: 2;
  grid-row: 1 / 3;
  align-self: center;
  white-space: nowrap;
}

.dotti-shell .pagina-config .conta-provider-meta {
  margin-block-start: .85rem;
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: .75rem;
}

.dotti-shell .pagina-config .conta-provider-meta p {
  margin: 0;
  color: var(--texto3);
  font-size: var(--cfg-type-meta);
  line-height: 1.5;
}

.dotti-shell .pagina-config .conta-provider-meta p b { color: var(--texto2); }

.dotti-shell .pagina-config .conta-provider-destino {
  display: flex;
  align-items: center;
  gap: .5rem;
  color: var(--texto3);
  font-size: var(--cfg-type-kicker);
}

.dotti-shell .pagina-config .conta-provider-destino small {
  max-width: 17rem;
  overflow: hidden;
  font-size: var(--cfg-type-kicker);
  text-overflow: ellipsis;
  white-space: nowrap;
}

.dotti-shell .pagina-config .conta-provider-note {
  margin: .8rem 0 0;
  padding: .6rem .7rem;
  border-inline-start: 2px solid var(--amarelo);
  background: color-mix(in srgb, var(--amarelo) 5%, transparent);
  color: var(--texto2);
  font-size: var(--cfg-type-meta);
  line-height: 1.5;
}

.dotti-shell .pagina-config .conta-provider-output:not(:empty) { margin-block-start: .75rem; }
.dotti-shell .pagina-config .conta-provider-output .aviso { margin: 0; }

.dotti-shell .pagina-config .conta-provider-editor > footer {
  margin-block-start: .875rem;
  padding-block-start: .75rem;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: .875rem;
  border-block-start: 1px solid var(--cfg-line);
}

.dotti-shell .pagina-config .conta-provider-editor > footer > span {
  color: var(--texto3);
  font-size: var(--cfg-type-kicker);
  line-height: 1.45;
}

.dotti-shell .pagina-config .conta-inline-actions {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: .45rem;
  flex-wrap: wrap;
}

.dotti-shell .pagina-config .conta-inline-actions .btn,
.dotti-shell .pagina-config .conta-provider-saved .btn,
.dotti-shell .pagina-config .conta-provider-destino .btn {
  min-height: 2.5rem;
  font-size: var(--cfg-type-meta);
}

.dotti-shell .pagina-config .conta-inline-actions .btn:disabled,
.dotti-shell .pagina-config .linha-modelo .btn:disabled {
  opacity: .52;
  cursor: not-allowed;
}

.dotti-shell .pagina-config .conta-google-workspace {
  min-width: 0;
  display: grid;
  gap: 1rem;
}

.dotti-shell .pagina-config .conta-google-workspace > * { min-width: 0; }

/* O bloco OAuth vem da biblioteca do Estudio, cuja escala compacta e' correta
 * nas tabelas densas, mas pequena demais dentro desta pagina de configuracao. */
.dotti-shell .pagina-config .conta-google-workspace :is(.est-nota, li, .est-chip) {
  font-size: var(--cfg-type-meta);
  line-height: 1.5;
}

.dotti-shell .pagina-config .conta-google-workspace :is(.est-rotulo, .est-selo) {
  font-size: var(--cfg-type-kicker);
}

.dotti-shell .pagina-config .conta-google-workspace .est-titulo {
  font-size: var(--cfg-type-section);
  line-height: 1.3;
}

.dotti-shell .pagina-config .conta-google-workspace :is(.est-sub, input, code, .btn) {
  font-size: var(--cfg-type-label);
  line-height: 1.45;
}

@container conta-config (max-width: 58.75rem) {
  .dotti-shell .pagina-config .conta-provider-controls {
    grid-template-columns: minmax(14rem, 1.15fr) minmax(10rem, .85fr);
  }
  .dotti-shell .pagina-config .conta-provider-controls > :nth-child(3) { grid-column: 1 / -1; }
}

@container conta-config (max-width: 56.25rem) {
  .dotti-shell .pagina-config .conta-provider-summary {
    grid-template-columns: 2.625rem minmax(10rem, 1fr) auto 1.125rem;
  }
  .dotti-shell .pagina-config .conta-provider-secret { display: none; }
}

@container conta-config (max-width: 45rem) {
  .dotti-shell .pagina-config .conta-config-layout { grid-template-columns: minmax(0, 1fr); }
  .dotti-shell .pagina-config .conta-config-nav {
    padding: .6rem;
    display: flex;
    align-items: stretch;
    gap: .45rem;
    overflow-x: auto;
    border-inline-end: 0;
    border-block-end: 1px solid var(--cfg-line);
  }
  .dotti-shell .pagina-config .conta-config-nav > strong { display: none; }
  .dotti-shell .pagina-config .conta-config-nav nav {
    display: flex;
    flex: 0 0 auto;
    gap: .45rem;
  }
  .dotti-shell .pagina-config .conta-config-nav button {
    min-width: 11.25rem;
    min-height: 3.625rem;
    flex: 0 0 auto;
  }
  .dotti-shell .pagina-config .conta-provider-guide {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: .35rem;
  }
  .dotti-shell .pagina-config .conta-provider-guide span {
    min-width: 0;
    display: grid;
    grid-template-columns: 1.375rem minmax(0, 1fr);
    gap: .3rem;
    line-height: 1.2;
  }
  .dotti-shell .pagina-config .conta-provider-guide span + span::before { display: none; }
  .dotti-shell .pagina-config .conta-provider-summary {
    min-height: 5rem;
    grid-template-columns: 2.625rem minmax(0, 1fr) 1.125rem;
  }
  .dotti-shell .pagina-config .conta-provider-status {
    grid-column: 2;
    justify-self: start;
  }
  .dotti-shell .pagina-config .conta-provider-chevron { grid-column: 3; grid-row: 1 / 3; }
  .dotti-shell .pagina-config .conta-provider-editor { padding: 1rem; }
  .dotti-shell .pagina-config .conta-provider-controls { grid-template-columns: minmax(0, 1fr); }
  .dotti-shell .pagina-config .conta-provider-controls > :nth-child(3) { grid-column: auto; }
  .dotti-shell .pagina-config .conta-provider-saved { grid-template-columns: minmax(0, 1fr); }
  .dotti-shell .pagina-config .conta-provider-saved > .btn {
    grid-column: 1;
    grid-row: auto;
    justify-self: start;
  }
  .dotti-shell .pagina-config .conta-provider-meta { grid-template-columns: minmax(0, 1fr); }
  .dotti-shell .pagina-config .conta-provider-destino { flex-wrap: wrap; }
  .dotti-shell .pagina-config .conta-provider-editor > footer { display: grid; }
  .dotti-shell .pagina-config .conta-inline-actions {
    width: 100%;
    display: grid;
    grid-template-columns: minmax(0, 1fr);
  }
  .dotti-shell .pagina-config .conta-inline-actions .btn { width: 100%; min-height: 2.75rem; }
}

@container conta-config (max-width: 32.5rem) {
  .dotti-shell .pagina-config .conta-config-notice { padding-inline: .85rem; }
  .dotti-shell .pagina-config .conta-config-notice::before { display: none; }
  .dotti-shell .pagina-config .conta-config-main { padding: 1rem; }
  .dotti-shell .pagina-config .conta-provider-row { border-radius: 9px; }
  .dotti-shell .pagina-config .linha-modelo { grid-template-columns: minmax(0, 1fr); }
  .dotti-shell .pagina-config .linha-modelo .btn { width: 100%; }
}

@media (prefers-reduced-motion: reduce) {
  .dotti-shell .pagina-config .conta-provider-chevron { transition-duration: .001ms; }
}
