/* =============================================================
   SEMOG · Admin Tahoe — Assinaturas (camada das telas do remetente)

   USE: depois de tokens.css, pills.css e tahoe.css. Tudo aqui vive sob
   `.tahoe-shell` — e sob `.tahoe-portal`, o contêiner de portal de menu,
   popover e diálogo —, como o resto do kit. Comportamento em
   assinatura.js; regras (estado, progresso, ordem, lembrete, máscaras,
   validações) em assinatura-core.js.

   As três telas da equipe — lista de solicitações, envio em etapas e
   acompanhamento — são montadas com os componentes do kit (.tk-*, em
   componentes.css): cabeçalho, botão, pílula, status, aviso, banner,
   etapas, menu, diálogo → sheet, campo, esqueleto e estados de tela. Este
   arquivo IMPORTA componentes.css, como assembleias.css faz. Aqui fica só
   o que é da Assinatura: a lista que vira cartões no celular, as opções em
   cartão, a ficha do documento, a linha de pessoa com entrega separada da
   decisão, o histórico, a prévia das comunicações, a faixa de
   demonstração e a barra de estados do protótipo.

   As mesmas duas regras de componentes.css: tipografia só pelos papéis
   --type-*, cor só por token semântico, sem literal nenhum.

   Prefixo .assa-* (o .asb-* é das Assembleias). CLASSE DOBRADA
   (`.assa-cartao.assa-cartao`): regra daqui que sobrescreve um componente
   vence por especificidade, em qualquer ordem —
   tests/camadas-especificidade.test.js trava.
   ============================================================= */
@import "./componentes.css";

/* ─────────── Sprite de ícones ───────────
   Sem caixa, mas não display:none — <use> precisa do símbolo renderizável. */
:is(.tahoe-shell,.tahoe-portal) .assa-sprite{position:absolute;width:0;height:0;overflow:hidden;}

/* ─────────── Faixa "Demonstração" ───────────
   Não é produto: tracejada, em cima do conteúdo, diz que nada é enviado e
   que a capacidade ainda não existe em produção. */
:is(.tahoe-shell,.tahoe-portal) .assa-faixa{
  display:flex;align-items:flex-start;gap:var(--space-2);padding:var(--space-3) var(--space-4);
  border-radius:var(--radius-md);background:var(--bg-soft);box-shadow:inset 0 0 0 1px var(--border-strong);
  outline:1px dashed var(--border-strong);outline-offset:-5px;
  font-size:var(--type-meta-size);line-height:var(--type-meta-leading);color:var(--fg);
}
:is(.tahoe-shell,.tahoe-portal) .assa-faixa > svg{width:16px;height:16px;flex:none;margin-top:2px;color:var(--fg-muted);}
:is(.tahoe-shell,.tahoe-portal) .assa-faixa b{font-weight:600;}
:is(.tahoe-shell,.tahoe-portal) .assa-demo-pill{flex:none;}

/* ─────────── Peças comuns ─────────── */
:is(.tahoe-shell,.tahoe-portal) .assa-cartao.assa-cartao{padding:var(--space-5);min-width:0;display:flex;flex-direction:column;gap:var(--tk-v-bloco);}
:is(.tahoe-shell,.tahoe-portal) .assa-cartao > h2,
:is(.tahoe-shell,.tahoe-portal) .assa-bloco > h3{margin:0;}
:is(.tahoe-shell,.tahoe-portal) .assa-bloco{display:flex;flex-direction:column;gap:var(--tk-v-item);min-width:0;}
:is(.tahoe-shell,.tahoe-portal) .assa-bloco-h{display:flex;flex-direction:column;gap:2px;min-width:0;}
:is(.tahoe-shell,.tahoe-portal) .assa-bloco-h > *{margin:0;}
:is(.tahoe-shell,.tahoe-portal) .assa-grande.assa-grande{font-size:var(--type-page-size);line-height:var(--type-page-leading);font-weight:600;}
:is(.tahoe-shell,.tahoe-portal) p.tk-cab-meta{margin:0;}
:is(.tahoe-shell,.tahoe-portal) .assa-duas{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-4);}
:is(.tahoe-shell,.tahoe-portal) [data-assa-tom="aviso"]{color:var(--warning-fg);}

/* Capacidade prevista e indisponível: rótulo discreto, nunca botão. */
:is(.tahoe-shell,.tahoe-portal) .assa-previsto{
  display:inline-flex;align-items:center;gap:6px;align-self:flex-start;margin-top:var(--space-1);
  padding:2px 10px;border-radius:var(--radius-pill);background:var(--bg-soft);box-shadow:inset 0 0 0 1px var(--border);
  font-size:var(--type-label-size);line-height:var(--type-label-leading);font-weight:var(--type-label-weight);color:var(--fg-muted);
}
:is(.tahoe-shell,.tahoe-portal) .assa-previsto svg{width:14px;height:14px;}

/* Avatar com iniciais (pessoa). */
:is(.tahoe-shell,.tahoe-portal) .assa-av{
  width:32px;height:32px;flex:none;display:inline-flex;align-items:center;justify-content:center;border-radius:var(--radius-pill);
  font-size:var(--type-meta-size);font-weight:600;background:var(--link-soft);color:var(--link);
}
:is(.tahoe-shell,.tahoe-portal) .assa-pessoa-id{display:flex;flex-direction:column;gap:2px;min-width:0;}
:is(.tahoe-shell,.tahoe-portal) .assa-pessoa-id > b{font-weight:600;overflow-wrap:anywhere;}

/* Canais (ícones com o nome para leitor de tela). */
:is(.tahoe-shell,.tahoe-portal) .assa-canais{display:inline-flex;gap:var(--space-2);color:var(--fg-muted);}
:is(.tahoe-shell,.tahoe-portal) .assa-canal{display:inline-flex;}
:is(.tahoe-shell,.tahoe-portal) .assa-canal svg{width:18px;height:18px;}

/* Barra de progresso: a largura vai por --assa-pct, aplicada pelo JS. */
:is(.tahoe-shell,.tahoe-portal) .assa-barra{display:block;height:6px;border-radius:var(--radius-pill);background:var(--border);overflow:hidden;}
:is(.tahoe-shell,.tahoe-portal) .assa-barra > i{display:block;width:var(--assa-pct, 0%);height:100%;border-radius:inherit;background:var(--success);}

/* ─────────── Lista de solicitações ───────────
   Grade de sete colunas no largo, com o cabeçalho na mesma grade; abaixo de
   900px cada solicitação vira um cartão, e o rótulo de cada célula aparece. */
:is(.tahoe-shell,.tahoe-portal) .assa-filtros{display:inline-flex;flex-wrap:wrap;gap:var(--space-1);padding:var(--space-1);border-radius:var(--radius-md);background:var(--bg-soft);}
:is(.tahoe-shell,.tahoe-portal) .assa-filtros > button{
  display:inline-flex;align-items:center;gap:6px;min-height:36px;padding:0 var(--space-3);border:0;border-radius:var(--radius-sm);
  background:transparent;color:var(--fg-muted);cursor:pointer;
  font-family:var(--type-label-font);font-size:var(--type-label-size);font-weight:var(--type-label-weight);line-height:var(--type-label-leading);
}
:is(.tahoe-shell,.tahoe-portal) .assa-filtros > button svg{width:16px;height:16px;}
:is(.tahoe-shell,.tahoe-portal) .assa-filtros > button:hover{background:var(--tk-lavado);color:var(--fg);}
:is(.tahoe-shell,.tahoe-portal) .assa-filtros > button[aria-pressed="true"]{background:var(--bg);color:var(--fg);box-shadow:var(--shadow-1), inset 0 0 0 1px var(--border);}
:is(.tahoe-shell,.tahoe-portal) .assa-filtros > button:focus-visible{outline:2px solid var(--link);outline-offset:1px;}
/* Filtros da lista: .filters/.seg/.filter do kit (tahoe.css). Aqui só o que
   é da lista: o combobox de condomínio, o popover fechado fora da ordem de
   foco e o recolher do celular. */
:is(.tahoe-shell,.tahoe-portal) .assa-filtros-corpo{display:flex;flex-direction:column;gap:var(--space-3);}
:is(.tahoe-shell,.tahoe-portal) .assa-lista .filters{margin:0;gap:var(--space-2);}
:is(.tahoe-shell,.tahoe-portal) .assa-busca.assa-busca{flex:0 1 320px;min-width:220px;}
:is(.tahoe-shell,.tahoe-portal) .assa-busca input{min-width:0;}
:is(.tahoe-shell,.tahoe-portal) .assa-busca input::-webkit-search-cancel-button{cursor:pointer;}
:is(.tahoe-shell,.tahoe-portal) .assa-seg.assa-seg{align-self:flex-start;flex-wrap:wrap;}
:is(.tahoe-shell,.tahoe-portal) .assa-pop-mais.assa-pop-mais{width:300px;max-width:calc(100vw - 32px);max-height:min(70vh, 560px);overflow-y:auto;}
:is(.tahoe-shell,.tahoe-portal) .assa-mais-grupo{margin:0;padding:0 0 var(--space-1);border:0;min-width:0;}
:is(.tahoe-shell,.tahoe-portal) .assa-mais-grupo + .assa-mais-grupo{padding-top:var(--space-1);box-shadow:inset 0 1px 0 var(--border);}
:is(.tahoe-shell,.tahoe-portal) .assa-mais-grupo > legend{float:left;width:100%;padding:var(--space-2) var(--space-2) var(--space-1);}
:is(.tahoe-shell,.tahoe-portal) .assa-mais-grupo > legend + *{clear:both;}
:is(.tahoe-shell,.tahoe-portal) .assa-lista .active-filters{margin:0;}
:is(.tahoe-shell,.tahoe-portal) .assa-filtros-espaco{flex:1;}
:is(.tahoe-shell,.tahoe-portal) .assa-filtros-topo{display:none;}
:is(.tahoe-shell,.tahoe-portal) .assa-seg button .tk-num{margin-left:4px;color:var(--fg-muted);}
:is(.tahoe-shell,.tahoe-portal) .assa-seg button:focus-visible,
:is(.tahoe-shell,.tahoe-portal) .assa-lista .filter-chip:focus-visible,
:is(.tahoe-shell,.tahoe-portal) .assa-lista .achip:focus-visible,
:is(.tahoe-shell,.tahoe-portal) .assa-lista .clear-all:focus-visible{outline:2px solid var(--link);outline-offset:2px;}
:is(.tahoe-shell,.tahoe-portal) .assa-lista .clear-all{border:0;background:none;padding:0 var(--space-1);min-height:26px;font-family:inherit;}
:is(.tahoe-shell,.tahoe-portal) .assa-chip-valor{margin-left:-3px;font-weight:500;max-width:220px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
/* O .filter-pop do kit some por opacidade: sem isto, as opções de um
   popover fechado continuariam na ordem do Tab. */
:is(.tahoe-shell,.tahoe-portal) .assa-lista .filter:not(.open) .filter-pop{visibility:hidden;}
:is(.tahoe-shell,.tahoe-portal) .assa-lista .opt:has(input:focus-visible){outline:2px solid var(--link);outline-offset:-2px;}
:is(.tahoe-shell,.tahoe-portal) .assa-pop-cond.assa-pop-cond{width:340px;max-width:calc(100vw - 32px);}
:is(.tahoe-shell,.tahoe-portal) .assa-cond-busca.assa-cond-busca{min-width:0;margin:var(--space-1) var(--space-1) var(--space-2);}
:is(.tahoe-shell,.tahoe-portal) .assa-cond-busca svg{width:14px;height:14px;flex:none;}
:is(.tahoe-shell,.tahoe-portal) .assa-cond-lista{list-style:none;margin:0;padding:0;max-height:288px;overflow-y:auto;}
:is(.tahoe-shell,.tahoe-portal) .assa-cond-op{display:flex;align-items:center;gap:var(--space-2);min-height:44px;padding:var(--space-1) var(--space-2);border-radius:var(--radius-sm);cursor:pointer;font-size:var(--type-meta-size);line-height:var(--type-meta-leading);}
:is(.tahoe-shell,.tahoe-portal) .assa-cond-op[hidden]{display:none;}
:is(.tahoe-shell,.tahoe-portal) .assa-cond-op:hover{background:var(--tk-lavado);}
:is(.tahoe-shell,.tahoe-portal) .assa-cond-op.ativa{background:var(--info-soft);box-shadow:inset 0 0 0 1px var(--info-border);}
:is(.tahoe-shell,.tahoe-portal) .assa-cond-op[aria-selected="true"] .assa-cond-nome{font-weight:600;color:var(--link);}
:is(.tahoe-shell,.tahoe-portal) .assa-cond-nome{display:flex;flex-direction:column;flex:1;min-width:0;overflow-wrap:anywhere;}
:is(.tahoe-shell,.tahoe-portal) .assa-cond-op .opt-count{font-family:var(--type-num-font);font-variant-numeric:var(--type-num-variant);color:var(--fg-muted);}
:is(.tahoe-shell,.tahoe-portal) .assa-cond-nada{margin:var(--space-2);font-size:var(--type-meta-size);color:var(--fg-muted);}
:is(.tahoe-shell,.tahoe-portal) .assa-pop-fechar.assa-pop-fechar{display:none;}
/* Item do ⋯ indisponível: o motivo vai junto, numa linha menor. */
:is(.tahoe-shell,.tahoe-portal) .assa-menu-rot{display:flex;flex-direction:column;min-width:0;}
:is(.tahoe-shell,.tahoe-portal) .assa-menu-motivo{font-size:var(--type-meta-size);line-height:var(--type-meta-leading);font-weight:400;}
/* Prévia do e-mail: a caixa de dados e a nota do modelo de convite. */
:is(.tahoe-shell,.tahoe-portal) .assa-previa-h{font-size:var(--type-title-size);line-height:var(--type-title-leading);font-weight:600;}
:is(.tahoe-shell,.tahoe-portal) .assa-previa-caixa{margin:0;display:flex;flex-direction:column;gap:var(--space-1);padding:var(--space-3);border-radius:var(--radius-sm);background:var(--bg-soft);}
:is(.tahoe-shell,.tahoe-portal) .assa-previa-caixa > div{display:grid;grid-template-columns:150px minmax(0,1fr);gap:var(--space-2);font-size:var(--type-meta-size);line-height:var(--type-meta-leading);}
:is(.tahoe-shell,.tahoe-portal) .assa-previa-caixa dt{color:var(--fg-muted);}
:is(.tahoe-shell,.tahoe-portal) .assa-previa-caixa dd{margin:0;font-weight:600;overflow-wrap:anywhere;}
:is(.tahoe-shell,.tahoe-portal) .assa-previa-nota-info{display:flex;flex-direction:column;gap:2px;padding:var(--space-3);border-radius:var(--radius-sm);background:var(--info-soft);box-shadow:inset 0 0 0 1px var(--info-border);}
:is(.tahoe-shell,.tahoe-portal) .assa-previa-nota-info b{color:var(--info-fg);font-weight:600;}
:is(.tahoe-shell,.tahoe-portal) .assa-previa-cab > div{grid-template-columns:110px minmax(0,1fr);}
:is(.tahoe-shell,.tahoe-portal) .assa-filtros-n{min-width:20px;height:20px;padding:0 6px;border-radius:var(--radius-pill);background:var(--link);color:var(--fg-inverse);display:inline-flex;align-items:center;justify-content:center;font-size:var(--type-label-size);}
:is(.tahoe-shell,.tahoe-portal) .assa-lista > p{margin:0;}

:is(.tahoe-shell,.tahoe-portal) .assa-tabela-cab,
:is(.tahoe-shell,.tahoe-portal) .assa-sol{
  display:grid;grid-template-columns:24px minmax(0,2.2fr) minmax(0,1.4fr) 112px 112px 64px minmax(132px,1fr);
  column-gap:var(--space-3);align-items:center;
}
:is(.tahoe-shell,.tahoe-portal) .assa-tabela-cab{
  padding:0 var(--space-3) var(--space-2);border-bottom:1px solid var(--border);
  font-size:var(--type-label-size);line-height:var(--type-label-leading);font-weight:var(--type-label-weight);color:var(--fg-muted);
}
:is(.tahoe-shell,.tahoe-portal) .assa-tabela{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;}
:is(.tahoe-shell,.tahoe-portal) .assa-sol{position:relative;min-height:64px;padding:var(--space-3);border-radius:var(--radius-sm);transition:background-color 120ms ease;}
:is(.tahoe-shell,.tahoe-portal) .assa-sol + .assa-sol::before{content:"";position:absolute;top:0;left:var(--space-3);right:var(--space-3);height:1px;background:var(--border);pointer-events:none;}
:is(.tahoe-shell,.tahoe-portal) .assa-sol:hover{background:var(--tk-lavado);}
:is(.tahoe-shell,.tahoe-portal) .assa-sol:hover::before,
:is(.tahoe-shell,.tahoe-portal) .assa-sol:hover + .assa-sol::before{opacity:0;}
:is(.tahoe-shell,.tahoe-portal) .assa-sol:active{background:var(--tk-lavado-forte);}
:is(.tahoe-shell,.tahoe-portal) .assa-sol-ic{display:inline-flex;color:var(--fg-muted);}
:is(.tahoe-shell,.tahoe-portal) .assa-sol-ic svg{width:20px;height:20px;}
:is(.tahoe-shell,.tahoe-portal) .assa-sol-doc{display:flex;flex-direction:column;gap:2px;min-width:0;}
:is(.tahoe-shell,.tahoe-portal) .assa-sol-nome{font-weight:500;color:var(--fg);text-decoration:none;overflow-wrap:anywhere;}
:is(.tahoe-shell,.tahoe-portal) .assa-sol-cel{display:flex;flex-direction:column;gap:4px;min-width:0;font-size:var(--type-body-size);line-height:var(--type-body-leading);overflow-wrap:anywhere;}
:is(.tahoe-shell,.tahoe-portal) .assa-sol-cel::before{content:attr(data-rot);display:none;font-size:var(--type-label-size);line-height:var(--type-label-leading);font-weight:var(--type-label-weight);color:var(--fg-muted);}
:is(.tahoe-shell,.tahoe-portal) .assa-sol-prazo{display:flex;flex-direction:column;}
:is(.tahoe-shell,.tahoe-portal) .assa-selos{display:flex;flex-wrap:wrap;gap:var(--space-1);}

/* ─────────── Opções (rádio e caixa em cartão) ─────────── */
:is(.tahoe-shell,.tahoe-portal) .assa-opcoes{border:0;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--tk-v-item);min-width:0;}
:is(.tahoe-shell,.tahoe-portal) .assa-opcoes > legend{padding:0;margin-bottom:var(--space-2);color:var(--fg-muted);}
:is(.tahoe-shell,.tahoe-portal) .assa-opcoes.lado{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(220px,100%),1fr));}
:is(.tahoe-shell,.tahoe-portal) .assa-opcoes.lado > legend{grid-column:1 / -1;}
:is(.tahoe-shell,.tahoe-portal) .assa-opcao{
  display:flex;align-items:flex-start;gap:var(--space-3);min-height:56px;padding:var(--space-3) var(--space-4);
  border-radius:var(--radius-md);background:var(--bg);box-shadow:inset 0 0 0 1px var(--border-strong);cursor:pointer;
  font-size:var(--type-body-size);line-height:var(--type-body-leading);
  transition:box-shadow 120ms ease, background-color 120ms ease;-webkit-tap-highlight-color:transparent;
}
:is(.tahoe-shell,.tahoe-portal) .assa-opcao:hover{background:var(--bg-soft);}
:is(.tahoe-shell,.tahoe-portal) .assa-opcao:has(input:checked){box-shadow:inset 0 0 0 2px var(--link);background:var(--info-soft);}
:is(.tahoe-shell,.tahoe-portal) .assa-opcao:has(input:focus-visible){outline:2px solid var(--link);outline-offset:2px;}
:is(.tahoe-shell,.tahoe-portal) .assa-opcao:has(input:disabled){cursor:default;}
:is(.tahoe-shell,.tahoe-portal) .assa-opcao:has(input:disabled:checked){box-shadow:inset 0 0 0 1px var(--border-strong);background:var(--bg-soft);}
:is(.tahoe-shell,.tahoe-portal) .assa-opcao input{width:20px;height:20px;margin:2px 0 0;flex:none;accent-color:var(--link);}
:is(.tahoe-shell,.tahoe-portal) .assa-opcao > span{display:flex;flex-direction:column;gap:2px;min-width:0;}
:is(.tahoe-shell,.tahoe-portal) .assa-opcao b{display:inline-flex;align-items:center;flex-wrap:wrap;gap:6px;font-weight:600;}
:is(.tahoe-shell,.tahoe-portal) .assa-opcao b > svg{width:18px;height:18px;color:var(--fg-muted);}
/* Indisponível: sem caixa de marcar de verdade (nada para focar), traço no lugar. */
:is(.tahoe-shell,.tahoe-portal) .assa-opcao[data-indisponivel]{cursor:default;background:var(--bg-soft);box-shadow:inset 0 0 0 1px var(--border);}
:is(.tahoe-shell,.tahoe-portal) .assa-opcao[data-indisponivel] b{color:var(--fg-muted);}
:is(.tahoe-shell,.tahoe-portal) .assa-opcao-caixa{width:20px;height:20px;margin-top:2px;flex:none;border-radius:var(--radius-xs);box-shadow:inset 0 0 0 1.5px var(--border-strong);}

/* ─────────── Envio em etapas ─────────── */
:is(.tahoe-shell,.tahoe-portal) .assa-etapas-cartao.assa-etapas-cartao{padding:var(--space-4) var(--space-5);}
/* Título focado por programa (troca de passo, resultado): sem anel — o foco é para o leitor de tela. */
:is(.tahoe-shell,.tahoe-portal) .assa-cartao > h2[tabindex="-1"]:focus{outline:none;}
:is(.tahoe-shell,.tahoe-portal) .assa-ficha{display:flex;flex-direction:column;gap:var(--space-2);padding:var(--space-3) var(--space-4);border-radius:var(--radius-md);background:var(--bg-soft);}
:is(.tahoe-shell,.tahoe-portal) .assa-ficha > p{margin:0;}
:is(.tahoe-shell,.tahoe-portal) .assa-ficha-arq{display:flex;align-items:flex-start;gap:var(--space-3);min-width:0;}
:is(.tahoe-shell,.tahoe-portal) .assa-ficha-arq > svg{width:20px;height:20px;flex:none;margin-top:2px;color:var(--fg-muted);}
:is(.tahoe-shell,.tahoe-portal) .assa-ficha-arq > span{display:flex;flex-direction:column;gap:2px;min-width:0;overflow-wrap:anywhere;}
:is(.tahoe-shell,.tahoe-portal) .assa-ficha-arq b{font-weight:600;}

:is(.tahoe-shell,.tahoe-portal) .assa-pessoa-form{
  margin:0;padding:var(--space-4);border:0;border-radius:var(--radius-md);box-shadow:inset 0 0 0 1px var(--border);
  display:flex;flex-direction:column;gap:var(--tk-v-item);min-width:0;
}
:is(.tahoe-shell,.tahoe-portal) .assa-pessoa-form > legend{float:left;width:100%;display:flex;align-items:center;gap:var(--space-3);padding:0;margin-bottom:var(--space-1);}
:is(.tahoe-shell,.tahoe-portal) .assa-pessoa-form > legend + *{clear:both;}
:is(.tahoe-shell,.tahoe-portal) .assa-pessoa-form .tk-input[readonly]{background:var(--bg-soft);color:var(--fg-muted);}

:is(.tahoe-shell,.tahoe-portal) .assa-acoes-pessoas{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(320px,100%),1fr));gap:var(--space-3);}
:is(.tahoe-shell,.tahoe-portal) .assa-acao-pessoa{display:flex;flex-direction:column;gap:var(--tk-v-item);padding:var(--space-4);border-radius:var(--radius-md);box-shadow:inset 0 0 0 1px var(--border);min-width:0;}
:is(.tahoe-shell,.tahoe-portal) .assa-acao-quem{display:flex;align-items:center;gap:var(--space-3);min-width:0;}
:is(.tahoe-shell,.tahoe-portal) .assa-efeito{margin:0;}
:is(.tahoe-shell,.tahoe-portal) .assa-campos{display:flex;flex-direction:column;gap:2px;}
:is(.tahoe-shell,.tahoe-portal) .assa-campos > span{color:var(--fg-muted);}
:is(.tahoe-shell,.tahoe-portal) .assa-campos > ul{margin:0;padding-left:var(--space-5);font-size:var(--type-meta-size);line-height:var(--type-meta-leading);}

:is(.tahoe-shell,.tahoe-portal) .assa-fila{list-style:none;margin:0;padding:var(--space-1);display:flex;flex-direction:column;border-radius:var(--radius-md);background:var(--bg-soft);}
:is(.tahoe-shell,.tahoe-portal) .assa-fila > li{display:flex;align-items:center;gap:var(--space-3);min-height:56px;padding:var(--space-2) var(--space-3);}
:is(.tahoe-shell,.tahoe-portal) .assa-fila > li + li{box-shadow:inset 0 1px 0 var(--border);}
:is(.tahoe-shell,.tahoe-portal) .assa-fila-n.assa-fila-n{
  width:28px;height:28px;flex:none;display:inline-flex;align-items:center;justify-content:center;border-radius:var(--radius-pill);
  background:var(--bg);box-shadow:inset 0 0 0 1px var(--border-strong);font-weight:600;
}
:is(.tahoe-shell,.tahoe-portal) .assa-fila-txt{display:flex;flex-direction:column;gap:2px;flex:1;min-width:0;overflow-wrap:anywhere;}
:is(.tahoe-shell,.tahoe-portal) .assa-fila-txt b{font-weight:600;}
:is(.tahoe-shell,.tahoe-portal) .assa-fila-acoes{display:inline-flex;gap:var(--space-1);flex:none;}
:is(.tahoe-shell,.tahoe-portal) .assa-prazo{max-width:280px;}
:is(.tahoe-shell,.tahoe-portal) .assa-prazo + p{margin:calc(var(--tk-v-bloco) * -1 + var(--space-1)) 0 0;}

/* Revisão: resumo em linhas, com "Alterar" à direita. */
:is(.tahoe-shell,.tahoe-portal) .assa-resumo{margin:0;display:flex;flex-direction:column;padding:var(--space-1);border-radius:var(--radius-md);background:var(--bg-soft);}
:is(.tahoe-shell,.tahoe-portal) .assa-resumo-l{display:grid;grid-template-columns:180px minmax(0,1fr) auto;gap:var(--space-1) var(--space-4);align-items:start;padding:var(--space-3);}
:is(.tahoe-shell,.tahoe-portal) .assa-resumo-l + .assa-resumo-l{box-shadow:inset 0 1px 0 var(--border);}
:is(.tahoe-shell,.tahoe-portal) .assa-resumo-l > dt{font-size:var(--type-label-size);line-height:var(--type-body-leading);font-weight:var(--type-label-weight);color:var(--fg-muted);}
:is(.tahoe-shell,.tahoe-portal) .assa-resumo-l > dd{margin:0;display:flex;flex-direction:column;gap:2px;min-width:0;overflow-wrap:anywhere;}
:is(.tahoe-shell,.tahoe-portal) .assa-resumo-l b{font-weight:600;}
:is(.tahoe-shell,.tahoe-portal) .assa-resumo-acao{margin-top:-6px;}
:is(.tahoe-shell,.tahoe-portal) .assa-resumo-pessoas{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--space-2);}
:is(.tahoe-shell,.tahoe-portal) .assa-resumo-pessoas > li{display:flex;flex-direction:column;gap:0;}

/* Prévia das comunicações: aproximada, num papel neutro. */
:is(.tahoe-shell,.tahoe-portal) .assa-previa-sel{display:flex;align-items:flex-end;flex-wrap:wrap;gap:var(--space-3);}
:is(.tahoe-shell,.tahoe-portal) .assa-previa-sel > .tk-campo{flex:1 1 280px;max-width:440px;}
:is(.tahoe-shell,.tahoe-portal) .assa-previa{display:flex;flex-direction:column;border-radius:var(--radius-md);box-shadow:inset 0 0 0 1px var(--border);overflow:hidden;max-width:640px;}
:is(.tahoe-shell,.tahoe-portal) .assa-previa-cab{margin:0;padding:var(--space-3) var(--space-4);display:flex;flex-direction:column;gap:var(--space-1);background:var(--bg-soft);box-shadow:inset 0 -1px 0 var(--border);}
:is(.tahoe-shell,.tahoe-portal) .assa-previa-cab > div{display:grid;grid-template-columns:72px minmax(0,1fr);gap:var(--space-2);font-size:var(--type-meta-size);line-height:var(--type-meta-leading);}
:is(.tahoe-shell,.tahoe-portal) .assa-previa-cab dt{color:var(--fg-muted);}
:is(.tahoe-shell,.tahoe-portal) .assa-previa-cab dd{margin:0;overflow-wrap:anywhere;}
:is(.tahoe-shell,.tahoe-portal) .assa-previa-corpo,
:is(.tahoe-shell,.tahoe-portal) .assa-previa-msg{display:flex;flex-direction:column;gap:var(--space-3);padding:var(--space-4);font-size:var(--type-body-size);line-height:var(--type-body-leading);overflow-wrap:anywhere;}
:is(.tahoe-shell,.tahoe-portal) .assa-previa-corpo > p,
:is(.tahoe-shell,.tahoe-portal) .assa-previa-msg > p{margin:0;}
:is(.tahoe-shell,.tahoe-portal) .assa-previa-botao{
  align-self:flex-start;display:inline-flex;align-items:center;min-height:40px;padding:0 var(--space-4);border-radius:var(--radius-sm);
  background:var(--link);color:var(--fg-inverse);font-weight:600;
}
:is(.tahoe-shell,.tahoe-portal) .assa-previa-msg{margin:var(--space-4);padding:var(--space-3) var(--space-4);border-radius:var(--radius-md);background:var(--bg-soft);max-width:420px;}
:is(.tahoe-shell,.tahoe-portal) .assa-previa-wa-botao{
  display:flex;align-items:center;justify-content:center;gap:6px;min-height:40px;margin:0 calc(var(--space-4) * -1) calc(var(--space-3) * -1);
  box-shadow:inset 0 1px 0 var(--border);color:var(--link);font-weight:600;
}
:is(.tahoe-shell,.tahoe-portal) .assa-previa-wa-botao svg{width:16px;height:16px;}
:is(.tahoe-shell,.tahoe-portal) .assa-previa-nota{
  margin:0;display:flex;align-items:flex-start;gap:var(--space-2);padding:var(--space-3) var(--space-4);box-shadow:inset 0 1px 0 var(--border);
  font-size:var(--type-meta-size);line-height:var(--type-meta-leading);color:var(--fg-muted);
}
:is(.tahoe-shell,.tahoe-portal) .assa-previa-nota svg{width:14px;height:14px;flex:none;margin-top:3px;}

/* Enviando: o giro é do ícone, a mensagem diz o que se espera. */
:is(.tahoe-shell,.tahoe-portal) .assa-processando{display:flex;align-items:flex-start;gap:var(--space-3);}
:is(.tahoe-shell,.tahoe-portal) .assa-processando > div{display:flex;flex-direction:column;gap:var(--space-1);}
:is(.tahoe-shell,.tahoe-portal) .assa-processando > div > *{margin:0;}
:is(.tahoe-shell,.tahoe-portal) .assa-processando > svg{width:24px;height:24px;flex:none;color:var(--link);}
:is(.tahoe-shell,.tahoe-portal) .assa-gira{animation:assa-gira 900ms linear infinite;}
@keyframes assa-gira{to{transform:rotate(360deg);}}

/* Faixa "Demonstração" dos diálogos: escolhe a resposta do servidor.
   Tracejada e em fundo secundário para não ser lida como produto. */
:is(.tahoe-shell,.tahoe-portal) .assa-demo{margin:var(--space-2) 0 0;padding:var(--space-3) var(--space-4);border:1px dashed var(--border-strong);border-radius:var(--radius-sm);background:var(--bg-soft);}
:is(.tahoe-shell,.tahoe-portal) .assa-demo > legend{padding:0 var(--space-1);font-size:var(--type-meta-size);line-height:var(--type-meta-leading);color:var(--fg-muted);}
:is(.tahoe-shell,.tahoe-portal) .assa-demo-ops{display:flex;flex-wrap:wrap;gap:var(--space-1) var(--space-4);}
:is(.tahoe-shell,.tahoe-portal) .assa-demo-op{display:inline-flex;align-items:center;gap:var(--space-2);min-height:36px;font-size:var(--type-meta-size);line-height:var(--type-meta-leading);cursor:pointer;}
:is(.tahoe-shell,.tahoe-portal) .assa-demo-op input{width:18px;height:18px;margin:0;accent-color:var(--link);}

/* ─────────── Acompanhamento ───────────
   Principal (pessoas, observações, histórico) e lateral (andamento,
   documento) a partir de 1100px; abaixo, a lateral sobe para antes. */
:is(.tahoe-shell,.tahoe-portal) .assa-det{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:var(--tk-v-secao);align-items:start;}
:is(.tahoe-shell,.tahoe-portal) .assa-det-principal,
:is(.tahoe-shell,.tahoe-portal) .assa-det-lado{display:flex;flex-direction:column;gap:var(--tk-v-bloco);min-width:0;}

:is(.tahoe-shell,.tahoe-portal) .assa-pessoas-cab,
:is(.tahoe-shell,.tahoe-portal) .assa-pessoa{display:grid;grid-template-columns:32px minmax(0,1.3fr) minmax(0,1.4fr) minmax(0,1fr) var(--tk-alvo);column-gap:var(--space-3);}
:is(.tahoe-shell,.tahoe-portal) .assa-pessoas-cab{
  padding:0 var(--space-3) var(--space-2);margin-bottom:calc(var(--tk-v-bloco) * -1 + var(--space-1));box-shadow:inset 0 -1px 0 var(--border);
  font-size:var(--type-label-size);line-height:var(--type-label-leading);font-weight:var(--type-label-weight);color:var(--fg-muted);
}
:is(.tahoe-shell,.tahoe-portal) .assa-pessoas{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;}
:is(.tahoe-shell,.tahoe-portal) .assa-pessoa{position:relative;align-items:start;row-gap:var(--space-2);padding:var(--space-3);}
:is(.tahoe-shell,.tahoe-portal) .assa-pessoa + .assa-pessoa{box-shadow:inset 0 1px 0 var(--border);}
:is(.tahoe-shell,.tahoe-portal) .assa-pessoa > .assa-av{margin-top:2px;}
:is(.tahoe-shell,.tahoe-portal) .assa-pessoa-ent,
:is(.tahoe-shell,.tahoe-portal) .assa-pessoa-dec{display:flex;flex-direction:column;gap:2px;min-width:0;}
:is(.tahoe-shell,.tahoe-portal) .assa-col-rot{display:none;font-size:var(--type-label-size);line-height:var(--type-label-leading);font-weight:var(--type-label-weight);color:var(--fg-muted);}
:is(.tahoe-shell,.tahoe-portal) .assa-entregas{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--space-2);}
:is(.tahoe-shell,.tahoe-portal) .assa-ent{display:flex;align-items:flex-start;gap:var(--space-2);font-size:var(--type-meta-size);line-height:var(--type-meta-leading);color:var(--fg-muted);}
:is(.tahoe-shell,.tahoe-portal) .assa-ent > svg{width:14px;height:14px;flex:none;margin-top:3px;}
:is(.tahoe-shell,.tahoe-portal) .assa-ent > span{display:flex;flex-direction:column;min-width:0;overflow-wrap:anywhere;}
:is(.tahoe-shell,.tahoe-portal) .assa-ent b{font-weight:600;color:var(--fg);}
:is(.tahoe-shell,.tahoe-portal) .assa-ent[data-tom="sucesso"] > svg{color:var(--success);}
:is(.tahoe-shell,.tahoe-portal) .assa-ent[data-tom="erro"]{color:var(--danger-fg);}
:is(.tahoe-shell,.tahoe-portal) .assa-ent[data-tom="erro"] b{color:var(--danger-fg);}
:is(.tahoe-shell,.tahoe-portal) .assa-pessoa-menu{justify-self:end;margin-top:-6px;}
:is(.tahoe-shell,.tahoe-portal) .assa-pessoa-res{grid-column:2 / -1;}
:is(.tahoe-shell,.tahoe-portal) .assa-pessoa-res:empty{display:none;}

:is(.tahoe-shell,.tahoe-portal) .assa-placar{display:flex;align-items:baseline;gap:var(--space-2);}
:is(.tahoe-shell,.tahoe-portal) .assa-andamento .assa-barra{height:8px;margin-top:calc(var(--tk-v-bloco) * -1 + var(--space-2));}
:is(.tahoe-shell,.tahoe-portal) .assa-marcos{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--space-2);}
:is(.tahoe-shell,.tahoe-portal) .assa-lembrete{display:flex;flex-direction:column;gap:var(--space-2);padding-top:var(--space-4);box-shadow:inset 0 1px 0 var(--border);}
:is(.tahoe-shell,.tahoe-portal) .assa-lembrete > p{margin:0;}
:is(.tahoe-shell,.tahoe-portal) .assa-lembrete [data-assa-lembrete-res]:empty{display:none;}

:is(.tahoe-shell,.tahoe-portal) .assa-obs{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--space-3);}
:is(.tahoe-shell,.tahoe-portal) .assa-obs > li{display:flex;flex-direction:column;gap:var(--space-2);padding:var(--space-3) var(--space-4);border-radius:var(--radius-md);background:var(--bg-soft);}
:is(.tahoe-shell,.tahoe-portal) .assa-obs-h{display:flex;flex-wrap:wrap;align-items:baseline;gap:2px var(--space-2);}
:is(.tahoe-shell,.tahoe-portal) .assa-obs-h b{font-weight:600;overflow-wrap:anywhere;}
:is(.tahoe-shell,.tahoe-portal) .assa-obs blockquote{margin:0;border:0;padding-left:var(--space-3);box-shadow:inset 3px 0 0 var(--border-strong);font-size:var(--type-body-size);line-height:var(--type-body-leading);overflow-wrap:anywhere;}

/* Histórico: linha do tempo com o ícone do evento num círculo. */
:is(.tahoe-shell,.tahoe-portal) .assa-tempo{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;}
:is(.tahoe-shell,.tahoe-portal) .assa-tempo > li{position:relative;display:flex;gap:var(--space-3);padding-bottom:var(--space-4);}
:is(.tahoe-shell,.tahoe-portal) .assa-tempo > li:last-child{padding-bottom:0;}
:is(.tahoe-shell,.tahoe-portal) .assa-tempo > li:not(:last-child)::before{content:"";position:absolute;left:13px;top:30px;bottom:2px;width:2px;border-radius:2px;background:var(--border);}
:is(.tahoe-shell,.tahoe-portal) .assa-tempo-ic{width:28px;height:28px;flex:none;display:inline-flex;align-items:center;justify-content:center;border-radius:var(--radius-pill);background:var(--bg-soft);color:var(--fg-muted);box-shadow:inset 0 0 0 1px var(--border);}
:is(.tahoe-shell,.tahoe-portal) .assa-tempo-ic svg{width:14px;height:14px;}
:is(.tahoe-shell,.tahoe-portal) .assa-tempo > li[data-tom="sucesso"] .assa-tempo-ic{background:var(--success-soft);color:var(--success-fg);box-shadow:inset 0 0 0 1px var(--success-border);}
:is(.tahoe-shell,.tahoe-portal) .assa-tempo > li[data-tom="erro"] .assa-tempo-ic{background:var(--danger-soft);color:var(--danger-fg);box-shadow:inset 0 0 0 1px var(--danger-border);}
:is(.tahoe-shell,.tahoe-portal) .assa-tempo-txt{display:flex;flex-direction:column;gap:2px;min-width:0;padding-top:4px;font-size:var(--type-body-size);line-height:var(--type-body-leading);overflow-wrap:anywhere;}

/* Diálogos: listas e evidências. */
:is(.tahoe-shell,.tahoe-portal) .assa-lista-simples{margin:0;padding-left:var(--space-5);display:flex;flex-direction:column;gap:var(--space-1);font-size:var(--type-body-size);line-height:var(--type-body-leading);}
:is(.tahoe-shell,.tahoe-portal) .assa-evid{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--space-3);}
:is(.tahoe-shell,.tahoe-portal) .assa-evid > li{display:flex;flex-direction:column;gap:var(--space-2);padding:var(--space-3) var(--space-4);border-radius:var(--radius-md);background:var(--bg-soft);overflow-wrap:anywhere;}
:is(.tahoe-shell,.tahoe-portal) .assa-evid b{font-weight:600;}
:is(.tahoe-shell,.tahoe-portal) .assa-evid dl{margin:0;display:flex;flex-direction:column;gap:var(--space-1);}
:is(.tahoe-shell,.tahoe-portal) .assa-evid dl > div{display:grid;grid-template-columns:150px minmax(0,1fr);gap:var(--space-2);font-size:var(--type-meta-size);line-height:var(--type-meta-leading);}
:is(.tahoe-shell,.tahoe-portal) .assa-evid dt{color:var(--fg-muted);}
:is(.tahoe-shell,.tahoe-portal) .assa-evid dd{margin:0;}

/* Página de PDF de demonstração: linhas cinzas e a marca d'água. */
:is(.tahoe-shell,.tahoe-portal) .assa-pdf{
  position:relative;display:flex;flex-direction:column;gap:var(--space-3);aspect-ratio:210 / 297;max-height:56vh;margin:0 auto;width:100%;max-width:420px;
  padding:var(--space-6) var(--space-5);border-radius:var(--radius-xs);background:var(--bg);box-shadow:var(--shadow-2), inset 0 0 0 1px var(--border);overflow:hidden;
}
:is(.tahoe-shell,.tahoe-portal) .assa-pdf-l{display:block;height:8px;border-radius:var(--radius-pill);background:var(--border);}
:is(.tahoe-shell,.tahoe-portal) .assa-pdf-l.alta{height:14px;width:60%;}
:is(.tahoe-shell,.tahoe-portal) .assa-pdf-l.curta{width:72%;}
:is(.tahoe-shell,.tahoe-portal) .assa-pdf-marca{
  position:absolute;inset:0;display:flex;align-items:center;justify-content:center;transform:rotate(-30deg);
  font-size:var(--type-title-size);line-height:var(--type-title-leading);font-weight:600;color:var(--fg-subtle);pointer-events:none;text-align:center;
}

/* Etapas (emissor → destinatário): cada uma com título e frase de estado. */
:is(.tahoe-shell,.tahoe-portal) .assa-etapa{display:flex;flex-direction:column;gap:var(--space-2);padding:var(--space-3) var(--space-4) var(--space-1);border-radius:var(--radius-md);box-shadow:inset 0 0 0 1px var(--border);min-width:0;}
:is(.tahoe-shell,.tahoe-portal) .assa-etapa-h{display:flex;flex-direction:column;gap:var(--space-1);}
:is(.tahoe-shell,.tahoe-portal) .assa-etapa-h > h3{margin:0;}
:is(.tahoe-shell,.tahoe-portal) .assa-etapa .assa-pessoa{padding-left:0;padding-right:0;}
:is(.tahoe-shell,.tahoe-portal) .assa-pessoa-form > legend > .tk-pill,
:is(.tahoe-shell,.tahoe-portal) .assa-fila > li > .tk-pill{margin-left:auto;flex:none;}

/* ─────────── Barra de estados do protótipo ───────────
   NÃO é produto: faixa escura rotulada "Protótipo · estado", presa embaixo,
   montada pelo assinatura.js a partir de [data-assa-proto]. Mesmo contrato
   e mesmo recolher (TahoeKit.recolheBarra) da barra das Assembleias. */
.tahoe-shell.assa-com-proto .main{padding-bottom:72px;}
.tahoe-shell.assa-com-proto{position:relative;}
:is(.tahoe-shell,.tahoe-portal) .assa-proto{
  position:fixed;left:50%;bottom:16px;z-index:60;transform:translateX(-50%);
  display:flex;align-items:center;gap:var(--space-2);max-width:calc(100vw - 32px);
  padding:6px 6px 6px var(--space-4);border-radius:var(--radius-pill);
  background:var(--bg-inverse);color:var(--fg-inverse);
  box-shadow:var(--shadow-4), 0 0 0 1px var(--tk-veu);
  font-size:var(--type-meta-size);line-height:var(--type-meta-leading);
}
:is(.tahoe-shell,.tahoe-portal) .assa-proto .lbl{font-weight:600;white-space:nowrap;}
:is(.tahoe-shell,.tahoe-portal) .assa-proto select{
  min-height:32px;min-width:0;flex:0 1 auto;padding:0 var(--space-3);border:0;border-radius:var(--radius-pill);
  background:var(--bg);color:var(--link);cursor:pointer;
  font-family:var(--type-label-font);font-size:var(--type-label-size);font-weight:var(--type-label-weight);
}
:is(.tahoe-shell,.tahoe-portal) .assa-proto select:focus-visible{outline:2px solid var(--link-soft);outline-offset:2px;}
:is(.tahoe-shell,.tahoe-portal) .assa-proto .erro{color:var(--danger-soft);font-weight:600;}
:is(.tahoe-shell,.tahoe-portal) .assa-proto .recolhe{
  width:32px;height:32px;flex:none;padding:0;border:0;border-radius:var(--radius-pill);cursor:pointer;
  display:inline-flex;align-items:center;justify-content:center;background:transparent;color:inherit;
}
:is(.tahoe-shell,.tahoe-portal) .assa-proto .recolhe:hover{background:color-mix(in srgb, var(--fg-inverse) 12%, transparent);}
:is(.tahoe-shell,.tahoe-portal) .assa-proto .recolhe:focus-visible{outline:2px solid var(--link-soft);outline-offset:1px;}
:is(.tahoe-shell,.tahoe-portal) .assa-proto .recolhe svg{width:16px;height:16px;}
:is(.tahoe-shell,.tahoe-portal) .assa-proto.recolhida{position:absolute;left:auto;right:16px;bottom:16px;transform:none;padding:6px;}
:is(.tahoe-shell,.tahoe-portal) .assa-proto.recolhida .lbl,
:is(.tahoe-shell,.tahoe-portal) .assa-proto.recolhida select{display:none;}
.tahoe-shell:has(.tk-menu.aberto) .assa-proto:not(.recolhida),
.tahoe-shell:has(.assa-lista .filter.open) .assa-proto:not(.recolhida){opacity:0;pointer-events:none;}

/* ─────────── Abaixo de 1100px: uma coluna ─────────── */
@media (max-width:1099.98px){
  :is(.tahoe-shell,.tahoe-portal) .assa-det{grid-template-columns:minmax(0,1fr);}
  :is(.tahoe-shell,.tahoe-portal) .assa-det-lado{order:-1;display:grid;grid-template-columns:repeat(auto-fit,minmax(min(300px,100%),1fr));align-items:start;}
}

/* ─────────── Lista: cartões abaixo de 900px ─────────── */
@media (max-width:899.98px){
  :is(.tahoe-shell,.tahoe-portal) .assa-tabela-cab{display:none;}
  :is(.tahoe-shell,.tahoe-portal) .assa-sol{grid-template-columns:24px minmax(0,1fr) minmax(0,1fr);row-gap:var(--space-3);align-items:start;padding:var(--space-4) var(--space-3);}
  :is(.tahoe-shell,.tahoe-portal) .assa-sol-doc{grid-column:2 / -1;}
  /* Filhos na ordem: ícone, documento, condomínio, progresso, prazo, canal,
     estado. Duas colunas de células sob o documento; o estado na largura toda. */
  :is(.tahoe-shell,.tahoe-portal) .assa-sol > :nth-child(3),
  :is(.tahoe-shell,.tahoe-portal) .assa-sol > :nth-child(5){grid-column:2;}
  :is(.tahoe-shell,.tahoe-portal) .assa-sol > :nth-child(4),
  :is(.tahoe-shell,.tahoe-portal) .assa-sol > :nth-child(6){grid-column:3;}
  :is(.tahoe-shell,.tahoe-portal) .assa-sol > :nth-child(7){grid-column:2 / -1;}
  :is(.tahoe-shell,.tahoe-portal) .assa-sol-cel::before{display:block;}
  /* Pessoas: a linha vira bloco — entrega e decisão com o rótulo à vista. */
  :is(.tahoe-shell,.tahoe-portal) .assa-pessoas-cab{display:none;}
  :is(.tahoe-shell,.tahoe-portal) .assa-pessoa{grid-template-columns:32px minmax(0,1fr) var(--tk-alvo);row-gap:var(--space-3);}
  :is(.tahoe-shell,.tahoe-portal) .assa-pessoa-ent,
  :is(.tahoe-shell,.tahoe-portal) .assa-pessoa-dec{grid-column:2 / -1;}
  :is(.tahoe-shell,.tahoe-portal) .assa-pessoa-menu{grid-column:3;grid-row:1;}
  :is(.tahoe-shell,.tahoe-portal) .assa-col-rot{display:block;}
}

/* ─────────── Celular ─────────── */
@media (max-width:767.98px){
  :is(.tahoe-shell,.tahoe-portal) .assa-cartao.assa-cartao,
  :is(.tahoe-shell,.tahoe-portal) .assa-etapas-cartao.assa-etapas-cartao{padding:var(--space-4);}
  :is(.tahoe-shell,.tahoe-portal) .assa-duas{grid-template-columns:minmax(0,1fr);}
  :is(.tahoe-shell,.tahoe-portal) .assa-filtros-topo{display:flex;}
  :is(.tahoe-shell,.tahoe-portal) .assa-filtros-corpo[data-recolhido]{display:none;}
  :is(.tahoe-shell,.tahoe-portal) .assa-lista .filters{position:relative;}
  :is(.tahoe-shell,.tahoe-portal) .assa-lista .filter{position:static;}
  /* Painel preso ao topo da tela: abrir junto da borda de baixo escondia a
     busca do condomínio atrás do teclado virtual. */
  :is(.tahoe-shell,.tahoe-portal) .assa-lista .filter .filter-pop.filter-pop{
    position:fixed;top:max(var(--space-2), env(safe-area-inset-top));left:var(--space-2);right:var(--space-2);bottom:auto;z-index:70;
    width:auto;max-width:none;max-height:min(70vh, 520px);overflow-y:auto;padding-top:var(--space-2);
    box-shadow:var(--shadow-4), 0 0 0 100vmax var(--tk-veu);
  }
  :is(.tahoe-shell,.tahoe-portal) .assa-pop-fechar.assa-pop-fechar{display:inline-flex;float:right;}
  :is(.tahoe-shell,.tahoe-portal) .assa-cond-lista{max-height:none;}
  :is(.tahoe-shell,.tahoe-portal) .assa-lista .filter-chip{min-height:44px;}
  :is(.tahoe-shell,.tahoe-portal) .assa-seg.assa-seg{display:flex;flex-wrap:wrap;border-radius:var(--radius-md);width:100%;}
  :is(.tahoe-shell,.tahoe-portal) .assa-seg button{min-height:44px;flex:1 1 auto;}
  :is(.tahoe-shell,.tahoe-portal) .assa-filtros-espaco{display:none;}
  /* 16px nos campos: abaixo disso o iOS dá zoom ao focar. */
  :is(.tahoe-shell,.tahoe-portal) .assa-busca input,
  :is(.tahoe-shell,.tahoe-portal) .assa-cond-busca input{font-size:16px;}
  :is(.tahoe-shell,.tahoe-portal) .assa-busca.assa-busca,
  :is(.tahoe-shell,.tahoe-portal) .assa-cond-busca.assa-cond-busca{height:44px;}
  :is(.tahoe-shell,.tahoe-portal) .assa-previa-caixa > div,
  :is(.tahoe-shell,.tahoe-portal) .assa-previa-cab > div{grid-template-columns:minmax(0,1fr);gap:0;}
  :is(.tahoe-shell,.tahoe-portal) .assa-lista .opt{min-height:44px;}
  :is(.tahoe-shell,.tahoe-portal) .assa-filtros{display:flex;width:100%;}
  :is(.tahoe-shell,.tahoe-portal) .assa-filtros > button{min-height:44px;flex:1 1 auto;justify-content:center;}
  :is(.tahoe-shell,.tahoe-portal) .assa-resumo-l{grid-template-columns:minmax(0,1fr) auto;}
  :is(.tahoe-shell,.tahoe-portal) .assa-resumo-l > dd:not(.assa-resumo-acao){grid-column:1 / -1;grid-row:2;}
  :is(.tahoe-shell,.tahoe-portal) .assa-resumo-acao{grid-column:2;grid-row:1;margin-top:-10px;}
  :is(.tahoe-shell,.tahoe-portal) .assa-evid dl > div{grid-template-columns:minmax(0,1fr);gap:0;}
  :is(.tahoe-shell,.tahoe-portal) .assa-previa-msg{margin:var(--space-3);}
  :is(.tahoe-shell,.tahoe-portal) .assa-demo-op{min-height:44px;}
  :is(.tahoe-shell,.tahoe-portal) .assa-proto select{min-height:44px;}
  :is(.tahoe-shell,.tahoe-portal) .assa-proto .recolhe{width:44px;height:44px;}
  :is(.tahoe-shell,.tahoe-portal) .assa-faixa{padding:var(--space-3);}
}
@media (prefers-reduced-motion:reduce){
  :is(.tahoe-shell,.tahoe-portal) .assa-opcao,
  :is(.tahoe-shell,.tahoe-portal) .assa-sol{transition:none;}
  :is(.tahoe-shell,.tahoe-portal) .assa-gira{animation:none;}
}
@media (forced-colors:active){
  :is(.tahoe-shell,.tahoe-portal) .assa-proto,
  :is(.tahoe-shell,.tahoe-portal) .assa-opcao,
  :is(.tahoe-shell,.tahoe-portal) .assa-faixa{border:1px solid CanvasText;}
  :is(.tahoe-shell,.tahoe-portal) .assa-filtros > button[aria-pressed="true"]{outline:2px solid Highlight;outline-offset:-2px;}
}

/* `hidden` ganha de qualquer display declarado nesta camada. */
:is(.tahoe-shell,.tahoe-portal) [class*="assa-"][hidden]{display:none !important;}
