/* ORBIT Empresa · paginas/inbox.css — o Inbox (o pedido «O Inbox no OS», 23/10): a caixa em três colunas, a janela de
   escrever, as contas e a assinatura.

   Só o que é desta área, por cima dos componentes do sistema visual (o-btn, o-menu, o-janela, o-folha, o-aviso…), que não
   se redefinem aqui. Todas as classes levam o prefixo ix-. As cores vêm das fichas; as medidas seguem a escala 4/8; no
   telemóvel (até 53,75 em, ou toque deitado com pouca altura), uma coluna de cada vez, a mensagem e a janela de escrever
   em ecrã inteiro, os alvos com 44 px e os campos com 16 px. Os estilos de uma assinatura vêm dela (pelo CSSOM, no JS):
   as pré-visualizações só lhe dão o fundo claro ou escuro. */

/* ── a caixa: no computador, as três colunas entre o topo e o fundo do ecrã ───────────────────────────────────────────── */
.ix-pagina--caixa {
  display: flex; flex-direction: column; max-width: none;
  height: calc(100vh - var(--topo-alt)); height: calc(100dvh - var(--topo-alt));
  padding-top: var(--e-4); padding-bottom: var(--e-4);
}
.ix-caixa, .ix-moldura { display: flex; flex: 1 1 auto; flex-direction: column; min-height: 0; }
.ix-colunas {
  display: grid; flex: 1 1 auto; grid-template-columns: 240px 420px minmax(0, 1fr); min-height: 0;
  border: 1px solid var(--linha); border-radius: var(--r-cartao); background: var(--painel); overflow: hidden;
}
.ix-col { display: flex; flex-direction: column; min-width: 0; min-height: 0; }
.ix-col + .ix-col { border-left: 1px solid var(--linha); }
.ix-escrever-fixo { display: none; }
.ix-vazio-contas { margin: auto 0; }

/* as contas e as pastas */
.ix-col-pastas { gap: var(--e-3); padding: var(--e-3); overflow-y: auto; }
.ix-pastas-topo { display: flex; align-items: center; gap: var(--e-1); min-width: 0; }
.ix-contas-ancora { display: flex; flex: 1 1 auto; min-width: 0; }
.ix-contas-botao { flex: 1 1 auto; justify-content: space-between; min-width: 0; padding: var(--e-1) var(--e-2); text-align: left; }
.ix-conta-nomes { display: flex; flex: 1 1 auto; flex-direction: column; min-width: 0; text-align: left; }
.ix-conta-nome { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; color: var(--ink); font: 600 var(--t-13)/1.35 var(--sans); }
.ix-conta-endereco { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; color: var(--ink-3); font: 400 var(--t-12)/1.4 var(--mono); }
.ix-contas-menu { width: 280px; }
.ix-conta-item { min-height: 44px; white-space: normal; }
.ix-conta-item .o-pill, .ix-conta-n { flex: none; margin-left: auto; }
.ix-escrever { width: 100%; }
.ix-pastas { min-width: 0; }
.ix-pastas-lista { display: flex; flex-direction: column; gap: 2px; margin: 0; padding: 0; list-style: none; }
.ix-pasta {
  display: flex; align-items: center; gap: var(--e-2); width: 100%; min-height: 32px; padding: var(--e-1) var(--e-2);
  border: 0; border-radius: var(--r); background: none; color: var(--ink-2); text-align: left; font: 500 var(--t-13)/1.3 var(--sans);
}
.ix-pasta:not(.ix-pasta--grupo):hover { background: var(--hover); color: var(--ink); }
.ix-pasta:focus-visible { outline-offset: -2px; }
.ix-pasta[aria-current="page"] { background: var(--painel-2); color: var(--ink); box-shadow: inset 2px 0 0 var(--accent); }
.ix-pasta[aria-current="page"] .o-ic { color: var(--accent-texto); }
.ix-pasta .o-ic { color: var(--ink-3); }
.ix-pasta[data-nivel="1"] { padding-left: var(--e-6); }
.ix-pasta[data-nivel="2"] { padding-left: var(--e-10); }
.ix-pasta[data-nivel="3"] { padding-left: 56px; }
.ix-pasta--grupo { cursor: default; color: var(--ink-3); }
.ix-pasta-nome { display: flex; flex: 1 1 auto; flex-direction: column; min-width: 0; overflow: hidden; overflow-wrap: anywhere; }
.ix-pasta-imap { color: var(--ink-3); font: 400 var(--t-11)/1.3 var(--mono); }
.ix-pasta-n { flex: none; margin-left: auto; color: var(--ink); font: 600 var(--t-12)/1 var(--mono); font-variant-numeric: tabular-nums; }
.ix-pasta-grupo { margin-top: var(--e-2); padding-top: var(--e-2); border-top: 1px solid var(--linha); }
.ix-pastas-fim { margin-top: auto; padding-top: var(--e-2); border-top: 1px solid var(--linha); }
.ix-ir-assinatura { width: 100%; justify-content: flex-start; }
.ix-pastas-carregar { padding: var(--e-2); }

/* a lista */
.ix-lista-cabeca { display: flex; align-items: center; gap: var(--e-2); min-width: 0; padding: var(--e-3) var(--e-3) 0; }
.ix-onde { display: none; }
.ix-lista-nome { display: flex; flex: 1 1 auto; align-items: baseline; gap: var(--e-2); min-width: 0; }
.ix-lista-titulo { min-width: 0; margin: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; color: var(--ink); font: 600 var(--t-16)/1.3 var(--sans); }
.ix-lista-total { flex: none; color: var(--ink-3); font: 400 var(--t-12)/1.3 var(--mono); }
.ix-procurar { margin: var(--e-3) var(--e-3) 0; }
.ix-lista-barra { display: flex; align-items: center; gap: var(--e-2); min-width: 0; padding: var(--e-2) var(--e-3); border-bottom: 1px solid var(--linha); }
.ix-estado { min-width: 0; margin-left: auto; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; color: var(--ink-3); font: 400 var(--t-12)/1.3 var(--mono); }
.ix-barra-selecao {
  display: flex; flex-wrap: wrap; align-items: center; gap: var(--e-2); padding: var(--e-2) var(--e-3);
  border-bottom: 1px solid var(--linha); background: var(--painel-2);
}
.ix-selecao-n { color: var(--ink); font: 600 var(--t-12)/1.3 var(--mono); }
.ix-selecao-acoes { display: flex; flex-wrap: wrap; gap: var(--e-1); }
.ix-lista-corpo { flex: 1 1 auto; min-height: 0; overflow-y: auto; overscroll-behavior: contain; }
.ix-lista { margin: 0; padding: 0; list-style: none; }
.ix-msg {
  position: relative; display: flex; align-items: flex-start; gap: var(--e-2); min-width: 0;
  padding: var(--e-3) var(--e-3) var(--e-3) var(--e-2); border-bottom: 1px solid var(--linha-fraca); cursor: pointer;
}
.ix-msg:hover { background: var(--hover); }
.ix-msg:focus-visible { outline: 2px solid var(--accent-texto); outline-offset: -2px; }
.ix-msg[aria-current="true"] { background: var(--accent-fundo); box-shadow: inset 2px 0 0 var(--accent); }
.ix-msg--marcada { background: var(--painel-2); }
.ix-msg-ponto { width: 8px; height: 8px; flex: none; margin-top: var(--e-2); border-radius: 50%; }
.ix-msg--por-ler .ix-msg-ponto { background: var(--accent); }
.ix-msg-corpo { display: flex; flex: 1 1 auto; flex-direction: column; gap: 2px; min-width: 0; }
.ix-msg-linha { display: flex; align-items: center; gap: var(--e-2); min-width: 0; }
.ix-msg-de { flex: 1 1 auto; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; color: var(--ink-2); font: 500 var(--t-13)/1.4 var(--sans); }
.ix-msg--por-ler .ix-msg-de, .ix-msg--por-ler .ix-msg-assunto { color: var(--ink); font-weight: 600; }
.ix-msg-icones { display: inline-flex; flex: none; align-items: center; gap: var(--e-1); color: var(--ink-3); }
.ix-msg-sinal { color: var(--aviso); }
.ix-msg-data { flex: none; color: var(--ink-3); font: 400 var(--t-12)/1.4 var(--mono); font-variant-numeric: tabular-nums; }
.ix-msg-assunto { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; color: var(--ink-2); font-size: var(--t-13); line-height: 1.4; }
.ix-msg-previa { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; color: var(--ink-3); font-size: var(--t-12); line-height: 1.4; }
.ix-marcar-caixa { display: grid; flex: none; place-items: center; width: 24px; height: 24px; cursor: pointer; }
.ix-marcar-caixa input { width: 18px; height: 18px; margin: 0; accent-color: var(--accent); cursor: pointer; }
.ix-lista-fim { display: flex; flex-direction: column; padding: var(--e-3); }
.ix-lista-fim:empty { display: none; }
.ix-mais-antigos { width: 100%; }

/* a mensagem aberta: o cabeçalho, as ações e o leitor isolado, que ocupa a altura que sobra */
.ix-leitor-vazio { margin: auto; }
.ix-leitor-topo { display: none; }
.ix-leitor-cabeca {
  display: flex; flex: none; flex-direction: column; gap: var(--e-3); max-height: 55%; padding: var(--e-4);
  overflow-y: auto; border-bottom: 1px solid var(--linha);
}
.ix-leitor-acoes { display: flex; flex-wrap: wrap; align-items: center; gap: var(--e-2) var(--e-4); }
.ix-acoes-grupo { display: flex; flex-wrap: wrap; gap: var(--e-1); }
/* a barra de baixo é só do telemóvel (o-so-telemovel não serve: põe o display do browser, e a barra é flex) */
.ix-barra-leitor { display: none; }
.ix-assunto { margin: 0; color: var(--ink); font: 600 var(--t-18)/1.35 var(--sans); overflow-wrap: anywhere; }
.ix-envelope { display: flex; align-items: flex-start; gap: var(--e-3); min-width: 0; }
.ix-envelope-texto { display: flex; flex-direction: column; gap: 2px; min-width: 0; }
.ix-de { display: flex; flex-wrap: wrap; align-items: baseline; gap: 0 var(--e-2); margin: 0; color: var(--ink); font-size: var(--t-14); line-height: 1.45; }
.ix-de-email, .ix-data { color: var(--ink-3); font: 400 var(--t-12)/1.45 var(--mono); overflow-wrap: anywhere; }
.ix-data { margin: 0; }
.ix-pessoas { margin: 0; color: var(--ink-2); font-size: var(--t-13); line-height: 1.45; overflow-wrap: anywhere; }
.ix-pessoas-rot { margin-right: var(--e-1); color: var(--ink-3); font: 500 var(--t-12)/1.45 var(--mono); }
.ix-rascunho-faixa { display: flex; flex-wrap: wrap; align-items: center; gap: var(--e-2); }
.ix-cortada { margin: 0; }
.ix-anexos { display: flex; flex-direction: column; gap: var(--e-2); }
.ix-anexos .o-rotulo { margin: 0; }
.ix-anexos-lista { display: flex; flex-wrap: wrap; gap: var(--e-2); margin: 0; padding: 0; list-style: none; }
.ix-anexos-lista > li { min-width: 0; max-width: 100%; }
.ix-anexo {
  display: inline-flex; align-items: center; gap: var(--e-2); max-width: 100%; min-height: 32px; padding: var(--e-1) var(--e-3);
  border: 1px solid var(--linha-2); border-radius: var(--r); background: var(--painel-2); color: var(--ink); text-decoration: none;
  font-size: var(--t-13); line-height: 1.3;
}
.ix-anexo:hover { border-color: var(--linha-campo); background: var(--painel-3); }
.ix-anexo .o-ic { color: var(--ink-3); }
.ix-anexo-nome { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.ix-anexo-tam { flex: none; color: var(--ink-3); font: 400 var(--t-12)/1 var(--mono); }
.ix-quadro-caixa { display: flex; flex: 1 1 auto; min-height: 240px; padding: var(--e-3); }
.ix-quadro { flex: 1 1 auto; width: 100%; min-width: 0; border: 1px solid var(--linha); border-radius: var(--r-cartao); background: var(--papel); }
.ix-leitor-carregar, .ix-leitor-erro { margin: var(--e-4); }

/* ── escrever ────────────────────────────────────────────────────────────────────────────────────────────────────────── */
.ix-compor { display: flex; flex-direction: column; width: min(880px, 100%); max-height: calc(100vh - 32px); max-height: calc(100dvh - 32px); padding: 0; overflow: hidden; }
.ix-compor-cabeca { display: flex; flex: none; align-items: flex-start; gap: var(--e-3); padding: var(--e-4) var(--e-3) var(--e-3) var(--e-5); border-bottom: 1px solid var(--linha); }
.ix-compor-titulos { display: flex; flex: 1 1 auto; flex-direction: column; gap: 2px; min-width: 0; }
.ix-compor-titulos .o-janela-titulo { margin: 0; }
.ix-compor-de { color: var(--ink-3); font: 400 var(--t-12)/1.4 var(--mono); overflow-wrap: anywhere; }
.ix-compor-corpo { display: flex; flex: 1 1 auto; flex-direction: column; gap: var(--e-3); min-height: 0; padding: var(--e-4) var(--e-5); overflow-y: auto; }
.ix-compor-erro { flex: none; }
.ix-enderecos { display: flex; flex-direction: column; gap: var(--e-3); min-width: 0; }
.ix-mostrar-copias { align-self: flex-start; }
.ix-sugestoes {
  display: flex; flex-direction: column; margin-top: calc(-1 * var(--e-2)); padding: var(--e-1);
  border: 1px solid var(--linha-2); border-radius: var(--r-caixa); background: var(--painel-2); box-shadow: var(--sombra-flutua);
}
.ix-sugestao { min-height: 44px; white-space: normal; }
.ix-ferramentas { display: flex; flex: none; flex-wrap: wrap; gap: 2px; padding: 2px; border: 1px solid var(--linha); border-radius: var(--r); background: var(--painel-2); align-self: flex-start; }
.ix-ferr-letra { display: inline-block; min-width: 16px; text-align: center; font: 700 var(--t-14)/1 var(--sans); }
.ix-ferr-i { font-style: italic; font-weight: 600; }
.ix-ferr-s { text-decoration: underline; }
.ix-ferr-num { font: 600 var(--t-12)/1 var(--mono); }
.ix-editor {
  flex: none; min-height: 200px; padding: var(--e-3); border: 1px solid var(--linha-campo); border-radius: var(--r);
  background: var(--void); color: var(--ink); font: 400 var(--t-15)/1.6 var(--sans); overflow-wrap: anywhere; outline: none; cursor: text;
}
.ix-editor:focus { border-color: var(--accent-texto); box-shadow: 0 0 0 1px var(--accent-texto), 0 0 0 4px var(--accent-fundo); }
.ix-editor ul, .ix-editor ol { margin: 0 0 var(--e-2); padding-left: 1.4em; }
.ix-editor a { color: var(--accent-texto); }
.ix-compor-assinatura { display: flex; flex: none; flex-direction: column; gap: var(--e-2); }
.ix-compor-assinatura:empty { display: none; }
.ix-assin-linha { display: flex; flex-wrap: wrap; align-items: center; gap: var(--e-2); }
.ix-citacao { flex: none; border: 1px solid var(--linha); border-radius: var(--r); background: var(--painel-2); }
.ix-citacao > summary { display: flex; align-items: center; min-height: 32px; padding: 0 var(--e-3); color: var(--ink-2); cursor: pointer; font-size: var(--t-13); }
.ix-citacao-texto { margin: 0 var(--e-3) var(--e-3); padding: var(--e-2) var(--e-3); border-left: 2px solid var(--linha-campo); color: var(--ink-2); font-size: var(--t-13); line-height: 1.5; white-space: pre-wrap; overflow-wrap: anywhere; }
.ix-citacao-texto > p, .ix-citacao-texto > blockquote { margin: 0 0 var(--e-2); }
.ix-anexos-compor { display: flex; flex: none; flex-direction: column; gap: var(--e-2); }
.ix-anexos-compor:empty { display: none; }
.ix-originais { display: flex; flex-direction: column; gap: var(--e-1); }
.ix-originais .o-rotulo { margin: 0; }
.ix-anexo-chip--erro { border-color: var(--erro-linha); color: var(--erro); }
.ix-compor-rodape { display: flex; flex: none; flex-wrap: wrap; align-items: center; gap: var(--e-2); padding: var(--e-3) var(--e-5); border-top: 1px solid var(--linha); }
.ix-compor-estado { flex: 1 1 auto; min-width: 0; color: var(--ink-3); font: 400 var(--t-12)/1.4 var(--mono); }
.ix-compor-botoes { display: flex; flex-wrap: wrap; gap: var(--e-2); margin-left: auto; }

/* ── a assinatura: as pré-visualizações (um fundo claro e um escuro), as candidatas e o construtor ───────────────────── */
.ix-assin-previa {
  min-width: 0; padding: var(--e-4); border: 1px solid var(--linha); border-radius: var(--r-cartao);
  overflow-x: auto; overflow-wrap: anywhere;
}
.ix-assin-previa--claro { background: var(--papel); color: var(--void); }
.ix-assin-previa--escuro { background: var(--void); color: var(--ink); }
.ix-assin-previa img { max-width: 100%; height: auto; }
.ix-assin-previa a { color: revert; text-underline-offset: 2px; }   /* a cor de uma ligação num programa de email, não a do OS */
.ix-compor-previa { padding: var(--e-3); }
.ix-assin-editor { min-height: 88px; outline: none; cursor: text; }
.ix-assin-editor:focus { border-color: var(--accent-texto); box-shadow: 0 0 0 1px var(--accent-texto), 0 0 0 4px var(--accent-fundo); }
.ix-img-fora { font-style: italic; }
.ix-assin-painel { min-width: 0; }
.ix-candidatas { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(320px, 100%), 1fr)); gap: var(--e-4); margin-top: var(--e-3); }
.ix-candidata-fim { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: var(--e-2); }
.ix-construtor { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: var(--e-6); align-items: start; }
.ix-construtor > .o-aviso { grid-column: 1 / -1; }
.ix-construtor-campos { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--e-3) var(--e-4); }
.ix-construtor-previas .o-rotulo { margin: 0; }
.ix-logo .o-acoes { align-items: center; }
.ix-logo-estado { min-width: 0; overflow-wrap: anywhere; }

/* ── as contas ───────────────────────────────────────────────────────────────────────────────────────────────────────── */
.ix-contas-lista > li + li { border-top: 1px solid var(--linha); }
.ix-contas-carregar { margin: 0; padding: var(--e-4); }
.ix-conta-linha { display: flex; flex-direction: column; gap: var(--e-3); min-width: 0; padding: var(--e-4); }
.ix-conta-linha-cabeca { display: flex; align-items: flex-start; gap: var(--e-3); min-width: 0; }
.ix-conta-linha-cabeca > .o-ic { margin-top: 2px; color: var(--ink-3); }
.ix-conta-linha .o-linha-meta { margin: 0; }
.ix-conta-titulo { min-width: 0; overflow-wrap: anywhere; }
.ix-conta-erro { padding-left: var(--e-8); }
.ix-conta-acoes { padding-left: var(--e-8); }
.ix-servidores { display: flex; flex-direction: column; gap: var(--e-3); }
.ix-servidor { min-width: 0; margin: 0; padding: var(--e-3); border: 1px solid var(--linha); border-radius: var(--r-cartao); }
.ix-servidor > legend { padding: 0 var(--e-1); }
.ix-servidor-campos { display: grid; grid-template-columns: minmax(0, 2fr) minmax(0, 1fr) minmax(0, 1.2fr); gap: var(--e-3); }
.ix-quem-pessoas { display: flex; flex-direction: column; gap: var(--e-2); padding-top: var(--e-1); }
.ix-ia-cofre { margin: 0; }
.ix-destinos { display: flex; flex-direction: column; gap: var(--e-2); max-height: 50vh; padding: 2px; overflow-y: auto; }
.ix-destino { flex: none; width: 100%; }
.ix-destino-nome { min-width: 0; overflow-wrap: anywhere; }
.ix-janela-erro { margin: 0; }
.ix-registo { max-height: 60vh; overflow-y: auto; }

/* ── o computador estreito: as colunas da caixa mais estreitas ────────────────────────────────────────────────────────── */
@media (min-width: 53.8125em) and (max-width: 75em) {
  .ix-colunas { grid-template-columns: 200px 320px minmax(0, 1fr); }
}

/* ── o toque: alvos de 44 px e letras de 12 px ───────────────────────────────────────────────────────────────────────── */
@media (max-width: 53.75em), (pointer: coarse) {
  .ix-pasta { min-height: 44px; }
  .ix-pasta-imap { font-size: var(--t-12); }
  .ix-anexo { min-height: 44px; }
  .ix-citacao > summary { min-height: 44px; }
  .ix-editor, .ix-assin-editor { font-size: max(16px, var(--t-16)); }
  .ix-folha-rotulo, .ix-anexos .o-rotulo, .ix-construtor-previas .o-rotulo, .ix-servidor > legend { font-size: var(--t-12); }
}

/* ── o telemóvel: uma coluna de cada vez ─────────────────────────────────────────────────────────────────────────────── */
@media (max-width: 53.75em), (pointer: coarse) and (max-height: 31.25em) {
  .ix-pagina--caixa { display: block; height: auto; padding-top: var(--e-3); padding-bottom: calc(var(--nav-ocupa) + 88px); }
  .ix-colunas { display: block; border: 0; border-radius: 0; background: none; overflow: visible; }
  .ix-col + .ix-col { border-left: 0; }
  .ix-col-pastas, .ix-col-leitor { display: none; }
  .ix-lista-cabeca { padding: 0; }
  .ix-onde { display: inline-flex; flex: 1 1 auto; justify-content: flex-start; min-width: 0; padding: var(--e-1) var(--e-3); text-align: left; }
  .ix-onde > .o-ic:first-child { color: var(--accent-texto); }
  .ix-onde-texto { display: flex; flex: 1 1 auto; flex-direction: column; min-width: 0; }
  .ix-onde-texto > b, .ix-onde-conta { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
  .ix-onde-conta { color: var(--ink-3); font: 400 var(--t-12)/1.3 var(--mono); }
  .ix-lista-nome {
    position: absolute; width: 1px; height: 1px; margin: -1px; padding: 0; overflow: hidden;
    clip: rect(0 0 0 0); clip-path: inset(50%); white-space: nowrap; border: 0;
  }
  .ix-procurar { margin: var(--e-3) 0 0; }
  .ix-lista-barra { padding: var(--e-2) 0; }
  .ix-barra-selecao { border: 1px solid var(--linha); border-radius: var(--r-cartao); }
  .ix-lista-corpo { overflow: visible; }
  .ix-msg { padding: var(--e-3) 0; }
  .ix-marcar-caixa { width: 44px; height: 44px; margin: -12px -8px -12px -12px; }
  .ix-lista-fim { padding: var(--e-3) 0; }
  .ix-escrever-fixo {
    position: fixed; right: var(--margem-d); bottom: calc(var(--nav-ocupa) + var(--e-4)); z-index: calc(var(--z-abas) - 1);
    display: inline-flex; width: auto; padding: 0 var(--e-5); border-color: var(--accent); border-radius: var(--r-pilula);
    background: var(--accent); color: var(--sobre-accent); box-shadow: var(--sombra-flutua);
  }
  .ix-colunas[data-vista="leitor"] + .ix-escrever-fixo { display: none; }
  /* a mensagem em ecrã inteiro, por cima da barra de baixo, com «Voltar» em cima e as ações em baixo */
  .ix-colunas[data-vista="leitor"] .ix-col-leitor {
    position: fixed; inset: 0; z-index: calc(var(--z-abas) + 1); display: flex; flex-direction: column;
    padding: env(safe-area-inset-top, 0px) env(safe-area-inset-right, 0px) 0 env(safe-area-inset-left, 0px);
    overflow-y: auto; overscroll-behavior: contain; background: var(--painel);
  }
  .ix-com-leitor, .ix-com-leitor body { overflow: hidden; }
  .ix-leitor-topo {
    position: sticky; top: 0; z-index: 2; display: flex; flex: none; align-items: center;
    padding: var(--e-1) var(--margem-d) var(--e-1) var(--e-1); border-bottom: 1px solid var(--linha); background: var(--painel);
  }
  .ix-leitor-cabeca { max-height: none; padding: var(--e-4) var(--margem-d) var(--e-3) var(--margem-e); overflow: visible; border-bottom: 0; }
  .ix-quadro-caixa { flex: none; height: 70vh; height: 70dvh; min-height: 280px; padding: 0 var(--margem-d) var(--e-4) var(--margem-e); }
  .ix-acoes-topo { display: none; }
  .ix-barra-leitor {
    position: sticky; bottom: 0; z-index: 2; display: flex; flex: none; flex-wrap: nowrap; align-items: stretch; gap: 0; margin-top: auto;
    padding: 0 0 env(safe-area-inset-bottom, 0px); border-top: 1px solid var(--linha); background: var(--painel);
  }
  .ix-acao-baixo {
    flex: 1 1 0; flex-direction: column; gap: var(--e-1); min-width: 0; min-height: 56px; padding: var(--e-1) 2px;
    border: 0; border-radius: 0; background: none; color: var(--ink-2); font-size: var(--t-12); line-height: 1.2;
  }
  .ix-acao-baixo .o-ic { width: 20px; height: 20px; }
  .ix-acao-baixo > span { max-width: 100%; text-align: center; overflow-wrap: break-word; }
  .ix-mais-ancora { display: flex; flex: 0 0 64px; min-width: 0; }
  .ix-mais-ancora > .ix-acao-baixo { width: 100%; }
  .ix-menu-acoes { right: var(--e-1); }
  /* a folha das contas e das pastas */
  .ix-folha-rotulo { margin: var(--e-3) 0 var(--e-1); }
  .ix-folha-rotulo:first-child { margin-top: 0; }
  .ix-folha-contas { display: flex; flex-direction: column; }
  .ix-folha-ligacoes { display: flex; flex-direction: column; margin-top: var(--e-3); padding-top: var(--e-3); border-top: 1px solid var(--linha); }
  .ix-folha-ligacao { justify-content: flex-start; }
  .ix-pasta { font-size: var(--t-15); }
  /* escrever em ecrã inteiro */
  .ix-veu-compor { padding: 0; }
  /* (com o véu à frente: o .o-veu > .o-janela da casca põe a altura máxima das janelas) */
  .ix-veu-compor > .ix-compor {
    position: fixed; inset: 0; width: 100%; max-width: none; height: 100%; max-height: none; border: 0; border-radius: 0;
    padding: env(safe-area-inset-top, 0px) env(safe-area-inset-right, 0px) env(safe-area-inset-bottom, 0px) env(safe-area-inset-left, 0px);
  }
  .ix-compor-cabeca { padding: var(--e-2) var(--e-2) var(--e-2) var(--margem-e); }
  .ix-compor-corpo { padding: var(--e-3) var(--margem-d) var(--e-3) var(--margem-e); }
  .ix-compor-rodape { padding: var(--e-2) var(--margem-d) var(--e-2) var(--margem-e); }
  .ix-compor-estado { order: 3; flex-basis: 100%; }
  .ix-editor { min-height: 160px; }
  /* a assinatura e as contas numa coluna */
  .ix-construtor, .ix-construtor-campos { grid-template-columns: minmax(0, 1fr); }
  .ix-servidor-campos { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }
  .ix-servidor-campos > :first-child { grid-column: 1 / -1; }
  .ix-conta-erro, .ix-conta-acoes { padding-left: 0; }
}
