/* Loomah Inscrições — acompanhamento [li_acompanhar] (2.72.0; grupo 2.73.0).
 *
 * Protótipo v0.4.2, telas 4 e 4b, sobre o Loomah Design System. Tudo em
 * @layer lm.overrides, só tokens do DS. Enfileirado depois do DS.
 *
 * As classes antigas (li-acompanhar-*, li-acomp-lista, li-acomp-card...) do
 * li-public.css ficam fora de camada e venceriam qualquer regra daqui; por
 * isso a tela nova usa nomes próprios. As seções do grupo (membros,
 * autorizações) seguem com as classes e o visual antigos até a 2.73.0.
 */

@layer lm.overrides {

  .li-acomp { inline-size: 100%; }
  /* O contêiner fica nas seções, não no invólucro: contêiner de tamanho
     prende elementos fixos, e os modais precisam cobrir a tela inteira. */
  .li-acomp-entrada,
  .li-acomp-sessao-tela { container: li-acomp / inline-size; }
  .li-acomp.is-embutido .lm-page-title { font-size: var(--lm-font-size-2xl); }
  .li-acomp [hidden] { display: none !important; }

  /* ---------- Cabeçalho ---------- */
  .li-acomp-cabeca {
    display: flex;
    align-items: flex-start;
    gap: var(--lm-space-4);
  }
  .li-acomp-cabeca .lm-page-title,
  .li-acomp-cabeca .lm-page-desc,
  .li-acomp-topo .lm-page-title,
  .li-acomp-topo .lm-eyebrow { margin: 0; }
  .li-acomp-cabeca .lm-page-desc { margin-block-start: var(--lm-space-2); max-inline-size: 60ch; }
  .li-acomp-icone {
    flex: none;
    inline-size: var(--lm-space-12);
    block-size: var(--lm-space-12);
    border-radius: var(--lm-radius-lg);
    background: var(--lm-surface-accent-tint);
    color: var(--lm-text-accent);
    display: grid;
    place-items: center;
    font-size: var(--lm-font-size-2xl);
  }

  .li-acomp-topo {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: flex-start;
    gap: var(--lm-space-3);
  }
  .li-acomp-topo .lm-page-title:focus { outline: none; }
  .li-acomp-sessao { display: flex; flex-wrap: wrap; gap: var(--lm-space-1); }

  #li-acomp-aviso:not(:empty),
  #li-acomp-resultado { margin-block-start: var(--lm-space-6); }

  /* ---------- Grade ---------- */
  .li-acomp-grid {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: var(--lm-space-6);
    align-items: start;
  }
  .li-acomp-entrada .li-acomp-grid { margin-block-start: var(--lm-space-6); }
  .li-acomp-col { display: grid; gap: var(--lm-space-4); align-content: start; min-inline-size: 0; }
  .li-acomp-col > * { margin-block: 0; }

  @container li-acomp (min-width: 52rem) {
    .li-acomp-grid { grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); gap: var(--lm-space-10); }
    .li-acomp-grid.is-entrada { grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); }
    .li-acomp-grid.is-uma { grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); }
    .li-acomp-cartoes.is-colunas { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  }

  /* ---------- Entrada ---------- */
  .li-acomp-tipo { inline-size: 100%; }
  .li-acomp-tipo > .li-acomp-tipo-opt {
    flex: 1;
    justify-content: center;
    cursor: pointer;
    position: relative;
  }
  .li-acomp-tipo-opt input {
    position: absolute;
    inline-size: 1px;
    block-size: 1px;
    opacity: 0;
    pointer-events: none;
  }
  .li-acomp-tipo-opt:has(input:focus-visible) { box-shadow: var(--lm-focus-ring); }

  .li-acomp-codigo,
  .li-acomp-pin,
  .li-acomp-codigo-acesso { text-transform: uppercase; }
  .li-acomp-pin {
    font-family: var(--lm-font-family-mono);
    letter-spacing: var(--lm-letter-spacing-caps);
  }
  .li-acomp-codigo-acesso {
    font-family: var(--lm-font-family-mono);
    letter-spacing: 0.3em;
    text-align: center;
    font-size: var(--lm-font-size-lg);
  }
  .li-acomp-pin::placeholder,
  .li-acomp-codigo-acesso::placeholder {
    font-family: var(--lm-font-family-sans);
    letter-spacing: normal;
    text-transform: none;
    font-size: var(--lm-font-size-md);
  }
  #li-btn-codigo-email { justify-self: center; }

  .li-acomp-fb { margin: 0; }
  .li-acomp-fb p { margin: 0; }

  .li-acomp-duvida {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-wrap: wrap;
    gap: var(--lm-space-2);
    margin: var(--lm-space-8) 0 0;
    padding-block: var(--lm-space-4);
    border-block-start: var(--lm-border);
    color: var(--lm-text-muted);
    font-size: var(--lm-font-size-sm);
    text-align: center;
  }
  .li-acomp-duvida i { font-size: var(--lm-font-size-lg); }
  .li-acomp-duvida a {
    font-weight: var(--lm-font-weight-semibold);
    color: var(--lm-text-accent);
    text-decoration: none;
  }
  .li-acomp-duvida a:hover { text-decoration: underline; }
  .li-acomp-duvida.is-esquerda {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    gap: 0 var(--lm-space-2);
    text-align: start;
    margin: 0;
    padding-block: 0;
    border-block-start: 0;
  }
  .li-acomp-duvida.is-esquerda a { grid-column: 2; }

  /* ---------- Cartão da inscrição ---------- */
  .li-acomp-cartao-topo {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: center;
    gap: var(--lm-space-2);
  }
  .li-acomp-cod {
    font-family: var(--lm-font-family-mono);
    letter-spacing: var(--lm-letter-spacing-caps);
    color: var(--lm-text-strong);
  }
  .li-acomp-evento {
    margin: 0;
    font-size: var(--lm-font-size-lg);
    line-height: var(--lm-line-height-tight);
    text-wrap: balance;
  }
  .li-acomp-sede {
    display: flex;
    align-items: center;
    gap: var(--lm-space-1);
    margin: var(--lm-space-1) 0 0;
    font-size: var(--lm-font-size-sm);
    color: var(--lm-text-muted);
  }
  .li-acomp-cartao .lm-kv { margin: var(--lm-space-2) 0 0; }

  .li-acomp-fila {
    display: flex;
    gap: var(--lm-space-3);
    align-items: flex-start;
    padding: var(--lm-space-4);
    border-radius: var(--lm-radius-lg);
    background: var(--lm-surface-sunken);
  }
  .li-acomp-fila i { font-size: var(--lm-font-size-2xl); color: var(--lm-text-muted); }
  .li-acomp-fila p { margin: 0; }
  .li-acomp-fila strong { font-size: var(--lm-font-size-lg); color: var(--lm-text-strong); }

  .li-acomp-alerta-acao { margin: var(--lm-space-3) 0 0; }

  /* ---------- Cancelar ---------- */
  .li-zona-risco {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: center;
    gap: var(--lm-space-3);
    padding: var(--lm-space-4);
    border: 1px solid var(--lm-danger-border);
    border-radius: var(--lm-radius-lg);
  }
  .li-zona-risco p { margin: 0; }
  .li-btn-perigo { --_fg: var(--lm-danger-tint-fg); --_bd: var(--lm-danger-border); }
  .li-btn-perigo-cheio {
    --_bg: var(--lm-danger-solid);
    --_fg: var(--lm-danger-solid-fg);
    --_bd: var(--lm-danger-solid);
    --_bg-hover: var(--lm-danger-solid);
  }

  /* ---------- O que você pode fazer ---------- */
  .li-acomp-subtitulo { margin: 0; font-size: var(--lm-font-size-md); }
  .li-acoes { display: grid; gap: var(--lm-space-2); }
  .li-acao {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    align-items: center;
    gap: var(--lm-space-2) var(--lm-space-3);
    padding: var(--lm-space-3) var(--lm-space-4);
    border: var(--lm-border);
    border-radius: var(--lm-radius-lg);
    background: var(--lm-surface-raised);
  }
  .li-acao-icone {
    inline-size: var(--lm-space-10);
    block-size: var(--lm-space-10);
    display: grid;
    place-items: center;
    border-radius: var(--lm-radius-md);
    background: var(--lm-surface-sunken);
    color: var(--lm-text-muted);
    font-size: var(--lm-font-size-lg);
  }
  .li-acao-texto p { margin: 0; }
  .li-acao-titulo { margin: 0; font-weight: var(--lm-font-weight-semibold); color: var(--lm-text-strong); }
  .li-acao-botoes,
  .li-acao > .li-acomp-acao-fb {
    grid-column: 2;
    display: flex;
    flex-wrap: wrap;
    gap: var(--lm-space-2);
  }
  .li-acao > .li-acomp-acao-fb:empty { display: none; }
  .li-acao.is-bloqueada .li-acao-icone { color: var(--lm-text-subtle); }
  .li-acao.is-feito { border-color: var(--lm-success-border); }
  .li-acao.is-feito .li-acao-icone { background: var(--lm-success-tint); color: var(--lm-success-tint-fg); }

  @container li-acomp (min-width: 34rem) {
    .li-acao { grid-template-columns: auto minmax(0, 1fr) auto; }
    .li-acao-botoes { grid-column: 3; justify-content: flex-end; }
    .li-acao > .li-acomp-acao-fb { grid-column: 2 / -1; }
  }

  /* ---------- Várias inscrições ---------- */
  .li-acomp-cartoes { display: grid; gap: var(--lm-space-6); align-items: start; }
  .li-acomp-botoes { display: flex; flex-wrap: wrap; gap: var(--lm-space-2); }
  .li-acomp-nota-linha {
    display: flex;
    align-items: flex-start;
    gap: var(--lm-space-1);
    margin: 0;
  }
  .li-acomp-nota-linha i { margin-block-start: 0.2em; flex: none; }
  .li-acomp-acao-fb:empty { display: none; }

  /* ---------- PIN para guardar ---------- */
  .li-pin-guardar {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: var(--lm-space-3);
    margin-block-end: var(--lm-space-6);
    padding: var(--lm-space-4);
    border: 1px solid var(--lm-success-border);
    border-radius: var(--lm-radius-lg);
    background: var(--lm-success-tint);
  }
  .li-pin-guardar p { margin: 0; }
  .li-pin-guardar .li-acomp-cod { font-size: var(--lm-font-size-xl); }

  /* ---------- Grupo: visual antigo (só no navegador sem o script novo) ---------- */
  .li-acomp-grupo {
    display: grid;
    gap: var(--lm-space-4);
    margin-block-start: var(--lm-space-6);
  }
  .li-acomp-cartao .li-acomp-grupo { margin-block-start: 0; }
  .li-acomp-grupo > * { margin: 0; }
  .li-acomp-editar-cta { display: grid; gap: var(--lm-space-2); justify-items: start; }
  .li-acomp-autz-ok { color: var(--lm-success-tint-fg); font-size: var(--lm-font-size-sm); margin-inline-start: var(--lm-space-2); }
  .li-acomp-autz-erro { color: var(--lm-danger-tint-fg); font-size: var(--lm-font-size-sm); margin-inline-start: var(--lm-space-2); }

  /* ---------- Modais ---------- */
  .li-acomp-nota {
    display: flex;
    gap: var(--lm-space-2);
    align-items: flex-start;
    margin: 0;
    font-size: var(--lm-font-size-sm);
    color: var(--lm-text-muted);
  }
  .li-acomp-nota i { font-size: var(--lm-font-size-md); margin-block-start: 0.15em; flex: none; }

  /* 2.73.3 — o cabeçalho e o rodapé do modal sólido ficam na superfície
     do modal pelo próprio DS (3.15.0); a correção que morava aqui saiu. */

  /* ================================================================
     2.73.0 — Grupo em abas (protótipo v0.4.2, tela 4c)
     ================================================================ */
  /* minmax(0, 1fr): sem isto a lista de abas e os filtros empurram a
     largura mínima e a página rola para o lado no celular. */
  .li-grupo-tela { display: grid; grid-template-columns: minmax(0, 1fr); gap: var(--lm-space-6); min-inline-size: 0; }
  .li-grupo-abas { min-inline-size: 0; }
  .li-grupo-abas .lm-tabs-list { overflow-x: auto; scrollbar-width: none; }
  .li-grupo-toolbar .lm-segmented { max-inline-size: 100%; overflow-x: auto; scrollbar-width: none; }
  .li-numero { align-content: start; }
  .li-grupo-tela > * { margin: 0; }
  .li-grupo-desc { margin: calc(var(--lm-space-4) * -1) 0 0; }
  .li-grupo-consulta .lm-alert { margin: 0; }
  .li-acomp-voltar { margin: 0 0 var(--lm-space-4); }
  .li-grupo-abas .lm-tab-panel { padding-block-start: var(--lm-space-6); }
  .li-grupo-abas .lm-tab-panel:focus-visible { outline: none; }
  .li-grupo-abas .lm-tab-panel > * + * { margin-block-start: var(--lm-space-4); }

  @container li-acomp (min-width: 60rem) {
    .li-acomp-grid.is-lateral { grid-template-columns: minmax(0, 1fr) 24rem; }
    .li-acomp-lado { position: sticky; inset-block-start: calc(var(--lm-space-20) + var(--lm-space-2)); }
  }
  .li-acao-vertical { grid-template-columns: auto minmax(0, 1fr); }
  .li-acao-vertical .li-acao-botoes { grid-column: 2; justify-content: flex-start; }
  .li-acomp-lado .li-acao { grid-template-columns: auto minmax(0, 1fr); }
  .li-acomp-lado .li-acao-botoes { grid-column: 2; justify-content: flex-start; }
  .li-zona-risco-vertical { flex-direction: column; align-items: flex-start; }

  /* O grupo em números */
  .li-numeros { display: grid; grid-template-columns: repeat(auto-fill, minmax(9rem, 1fr)); gap: var(--lm-space-2); }
  .li-numero {
    display: grid; gap: var(--lm-space-1); text-align: start;
    padding: var(--lm-space-3) var(--lm-space-4);
    border: var(--lm-border); border-radius: var(--lm-radius-lg);
    background: var(--lm-surface-raised); color: var(--lm-text-muted);
    font: inherit; font-size: var(--lm-font-size-sm); cursor: pointer;
  }
  .li-numero strong { font-size: var(--lm-font-size-2xl); line-height: 1; color: var(--lm-text-strong); font-variant-numeric: tabular-nums; }
  .li-numero.is-atencao strong { color: var(--lm-warning-tint-fg); }
  .li-numero:hover { border-color: var(--lm-border-strong); }
  .li-numero:focus-visible { outline: 2px solid var(--lm-focus-ring, var(--lm-border-strong)); outline-offset: 2px; }

  /* Tabelas */
  .li-grupo-toolbar { flex-wrap: wrap; gap: var(--lm-space-3); align-items: center; }
  .li-grupo-busca { flex: 1 1 14rem; max-inline-size: 22rem; }
  .li-grupo-busca .lm-input { padding-inline-start: var(--lm-space-10); }
  .li-grupo-so { margin: 0; }
  .li-code-sm { font-family: var(--lm-font-family-mono); letter-spacing: var(--lm-letter-spacing-caps); color: var(--lm-text-strong); }
  .li-grupo-tabela .li-code-sm { font-size: var(--lm-font-size-xs); }
  .li-grupo-tabela .lm-td-main .lm-badge { margin-inline-start: var(--lm-space-1); }
  .li-pessoa-status { display: inline-flex; align-items: center; gap: var(--lm-space-1); font-size: var(--lm-font-size-xs); font-weight: var(--lm-font-weight-semibold); white-space: nowrap; }
  .li-pessoa-status.is-ok { color: var(--lm-success-tint-fg); }
  .li-pessoa-status.is-pendente { color: var(--lm-danger-tint-fg); }
  .li-pessoa-status.is-conferir { color: var(--lm-warning-tint-fg); }
  .li-falta { font-weight: var(--lm-font-weight-semibold); color: var(--lm-warning-tint-fg); }
  .li-voucher-trava { display: inline-flex; align-items: center; gap: var(--lm-space-1); white-space: nowrap; }
  .li-linha-acoes { display: inline-flex; flex-wrap: wrap; align-items: center; justify-content: flex-end; gap: var(--lm-space-2); }
  .li-autz-tabela th:nth-child(n+3), .li-autz-tabela td:nth-child(n+3) { text-align: center; }
  .li-autz-tabela tr.is-falta > td:first-child { box-shadow: inset 3px 0 0 var(--lm-warning-border); }
  .li-autz-cel { display: inline-flex; margin: 0; justify-content: center; }
  .li-sel-col { inline-size: 2.75rem; }
  .li-autz-tabela th { vertical-align: bottom; }
  .li-col-rot { display: block; }
  .li-col-btn {
    display: inline-block; margin-block-start: var(--lm-space-1); padding: 0; border: 0; background: none;
    font: inherit; font-size: var(--lm-font-size-2xs); font-weight: var(--lm-font-weight-semibold);
    letter-spacing: normal; text-transform: none; color: var(--lm-text-accent); cursor: pointer;
  }
  .li-col-btn:hover { text-decoration: underline; }
  .li-col-btn:focus-visible, .li-bulk-link:focus-visible { outline: 2px solid var(--lm-focus-ring, var(--lm-border-strong)); outline-offset: 2px; }
  .li-autz-tabela tbody tr[aria-selected="true"] > td { background: var(--lm-surface-accent-tint); }
  .li-bulk { flex-wrap: wrap; row-gap: var(--lm-space-2); }
  .li-bulk .lm-bulk-bar-end { flex-wrap: wrap; align-items: center; }
  .li-bulk-rot { font-size: var(--lm-font-size-xs); opacity: 0.85; }
  .li-bulk-link { padding: 0; border: 0; background: none; font: inherit; font-size: var(--lm-font-size-xs); color: inherit; text-decoration: underline; cursor: pointer; }
  .li-confirma {
    display: flex; flex-wrap: wrap; align-items: center; gap: var(--lm-space-3);
    padding: var(--lm-space-3) var(--lm-space-4);
    background: var(--lm-surface-accent-tint); border-block: 1px solid var(--lm-border-subtle);
    font-size: var(--lm-font-size-sm);
  }
  .li-confirma > i { font-size: var(--lm-font-size-lg); color: var(--lm-text-accent); }
  .li-confirma p { margin: 0; flex: 1 1 18rem; color: var(--lm-text-strong); }
  .li-confirma-acoes, .li-salvar-acoes { display: flex; gap: var(--lm-space-2); flex-wrap: wrap; }
  .li-salvar-barra {
    position: sticky; inset-block-end: 0; z-index: 2;
    display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: var(--lm-space-3);
    padding: var(--lm-space-3) var(--lm-space-4);
    padding-block-end: calc(var(--lm-space-3) + env(safe-area-inset-bottom, 0px));
    border: var(--lm-border); border-radius: var(--lm-radius-lg);
    background: var(--lm-surface-raised); box-shadow: var(--lm-shadow-md, none);
    font-size: var(--lm-font-size-sm); color: var(--lm-text-muted);
  }
  .li-salvar-barra.is-pendente { border-color: var(--lm-warning-border); }
  .li-salvar-barra strong { color: var(--lm-text-strong); }
  .li-col-mob { display: none; }
  .li-grupo-tela .lm-table-footer[hidden] { display: none; }

  @container li-acomp (max-width: 48rem) {
    .li-grupo-tabela.lm-table-cards td.lm-td-main { font-weight: var(--lm-font-weight-semibold); color: var(--lm-text-strong); }
    .li-grupo-tabela.lm-table-cards td.lm-td-main::before { display: none; }
    .li-grupo-abas .lm-tab > .ph { display: none; }
    .li-grupo-abas .lm-tabs-list { overflow-x: auto; scrollbar-width: none; }
    .li-autz-tabela.lm-table-cards td:nth-child(n+3) { justify-content: space-between; }
    .li-col-mob {
      display: flex; flex-wrap: wrap; gap: var(--lm-space-1) var(--lm-space-3);
      padding: var(--lm-space-2) var(--lm-space-4); font-size: var(--lm-font-size-xs); color: var(--lm-text-muted);
      border-block-start: 1px solid var(--lm-border-subtle);
    }
    .li-col-mob .li-col-btn { margin: 0; font-size: var(--lm-font-size-xs); }
    .li-autz-tabela.lm-table-cards thead .li-col-btn { display: none; }
    .li-autz-tabela.lm-table-cards td.li-sel-col { justify-content: flex-start; position: absolute; inset-inline-start: var(--lm-space-4); inset-block-start: var(--lm-space-3); }
    .li-autz-tabela.lm-table-cards td.li-sel-col::before { display: none; }
    .li-autz-tabela.lm-table-cards tbody tr { position: relative; padding-inline-start: var(--lm-space-12); }
    .li-autz-tabela.lm-table-cards tbody tr[aria-selected="true"] { background: var(--lm-surface-accent-tint); }
    .li-linha-acoes { justify-content: flex-start; }
    /* Barra de salvar compacta: fica por cima da lista enquanto se rola. */
    .li-salvar-barra { gap: var(--lm-space-2); padding: var(--lm-space-2) var(--lm-space-3); padding-block-end: calc(var(--lm-space-2) + env(safe-area-inset-bottom, 0px)); }
    .li-salvar-barra > span { flex: 1 1 100%; font-size: var(--lm-font-size-xs); }
    .li-salvar-acoes { flex: 1 1 100%; flex-wrap: nowrap; }
    .li-salvar-acoes .lm-btn { flex: 1 1 auto; min-inline-size: 0; }
  }

  /* Faixa de vagas */
  .li-vagas-grupo {
    display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: var(--lm-space-4);
    padding: var(--lm-space-4) var(--lm-space-5);
    border: var(--lm-border); border-radius: var(--lm-radius-lg); background: var(--lm-surface-raised);
  }
  .li-vagas-num { flex: 1 1 20rem; display: grid; gap: var(--lm-space-2); }
  .li-vagas-num p { margin: 0; }
  .li-vagas-titulo { font-size: var(--lm-font-size-md); color: var(--lm-text-muted); }
  .li-vagas-titulo strong { color: var(--lm-text-strong); font-variant-numeric: tabular-nums; }
  .li-vagas-barra { block-size: 0.5rem; border-radius: var(--lm-radius-full); background: var(--lm-surface-sunken); overflow: hidden; }
  .li-vagas-barra span { display: block; block-size: 100%; inline-size: 0; border-radius: inherit; background: var(--lm-text-accent); transition: inline-size var(--lm-duration-base) var(--lm-ease-standard); }

  /* Gaveta da pessoa e dos dados do grupo */
  .li-grupo-scrim { z-index: var(--lm-z-modal); }
  .li-pessoa-drawer { inline-size: min(34rem, 100vw); }
  .li-pessoa-drawer .lm-drawer-header { align-items: flex-start; }
  .li-pessoa-drawer .lm-drawer-header > div { flex: 1; min-inline-size: 0; }
  .li-pessoa-drawer .lm-drawer-title { margin: 0; }
  .li-pessoa-drawer .lm-drawer-title:focus { outline: none; }
  .li-pessoa-drawer .lm-eyebrow { margin: 0 0 var(--lm-space-1); }
  .li-pessoa-drawer #lg-pd-sub { margin: var(--lm-space-1) 0 0; }
  .li-pessoa-drawer .lm-field { margin: 0; }
  .li-pessoa-drawer .lm-field.is-invalido .lm-label { color: var(--lm-danger-tint-fg); }
  .li-pd-bloco { display: grid; gap: var(--lm-space-3); padding-block-start: var(--lm-space-4); border-block-start: 1px solid var(--lm-border-subtle); }
  .li-pd-bloco:first-child { border-block-start: 0; padding-block-start: 0; }
  .li-pd-bloco h3 { margin: 0; font-size: var(--lm-font-size-sm); letter-spacing: var(--lm-letter-spacing-caps); text-transform: uppercase; color: var(--lm-text-subtle); }
  .li-pd-bloco .lm-hint, .li-pd-bloco p, .li-pd-bloco .lm-kv { margin: 0; }
  .li-pd-lista { list-style: disc; margin: 0; padding-inline-start: var(--lm-space-5); display: grid; gap: var(--lm-space-2); font-size: var(--lm-font-size-sm); }
  .li-pd-nota { display: flex; gap: var(--lm-space-2); align-items: flex-start; margin: 0; font-size: var(--lm-font-size-sm); color: var(--lm-text-muted); }
  .li-pd-nota i { margin-block-start: 0.15em; flex: none; }
  .li-pd-pe { display: grid; gap: var(--lm-space-3); inline-size: 100%; }
  .li-pd-botoes { display: flex; justify-content: flex-end; gap: var(--lm-space-2); flex-wrap: wrap; }
  .li-troca {
    display: grid; grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr); align-items: center; gap: var(--lm-space-3);
    padding: var(--lm-space-3) var(--lm-space-4); border-radius: var(--lm-radius-lg); background: var(--lm-surface-sunken);
  }
  .li-troca p { margin: 0; }
  .li-troca > i { color: var(--lm-text-muted); font-size: var(--lm-font-size-lg); }
  .li-choices-2 { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--lm-space-3); }
  @media (max-width: 40rem) { .li-choices-2 { grid-template-columns: minmax(0, 1fr); } }
  .li-choice-text { display: grid; gap: var(--lm-space-1); }
  .li-choice-title { font-weight: var(--lm-font-weight-semibold); color: var(--lm-text-strong); }
  .li-choice-desc { font-size: var(--lm-font-size-xs); color: var(--lm-text-muted); }
  .li-if-opcoes { display: flex; flex-wrap: wrap; gap: var(--lm-space-2) var(--lm-space-5); }
  .li-if-opcoes .lm-check { margin: 0; }
  .li-code-input { text-transform: uppercase; font-family: var(--lm-font-family-mono); letter-spacing: var(--lm-letter-spacing-caps); }
  .li-code-input::placeholder { font-family: var(--lm-font-family-sans); letter-spacing: normal; text-transform: none; font-size: var(--lm-font-size-md); }

  /* Aviso rápido depois de uma ação */
  .li-toast {
    position: fixed; inset-inline: var(--lm-space-4);
    inset-block-end: calc(var(--lm-space-4) + env(safe-area-inset-bottom, 0px));
    margin-inline: auto; max-inline-size: 28rem; z-index: calc(var(--lm-z-modal) + 2);
    padding: var(--lm-space-3) var(--lm-space-4); border-radius: var(--lm-radius-lg);
    background: var(--lm-surface-inverse); color: var(--lm-text-inverse);
    font-size: var(--lm-font-size-sm); box-shadow: var(--lm-shadow-md);
    opacity: 0; translate: 0 0.5rem; pointer-events: none;
    transition: opacity var(--lm-duration-base), translate var(--lm-duration-base);
  }
  .li-toast.is-on { opacity: 1; translate: 0 0; }
  @media (prefers-reduced-motion: reduce) { .li-toast, .li-vagas-barra span { transition: none; } }

  /* ================================================================
     2.73.1 — Celular primeiro
     O público usa muito o celular. Na tela do grupo, os alvos de toque
     tinham 20 a 34 px (caixas das autorizações, Editar/Remover, filtros,
     paginação) e cada pessoa virava um cartão de quatro linhas rotuladas:
     uma página de 25 pessoas dava quase 6.000 px de rolagem.
     ================================================================ */

  /* Cartão de pessoa compacto: nome e situação; código e autorizações;
     ações. Mesmo corte do DS (48rem) para as tabelas em cartões. */
  @media (max-width: 48rem) {
    .li-pessoas-tabela.lm-table-cards tbody tr {
      grid-template-columns: minmax(0, 1fr) auto;
      gap: var(--lm-space-1) var(--lm-space-3);
      align-items: center;
    }
    .li-pessoas-tabela.lm-table-cards td { display: block; }
    .li-pessoas-tabela.lm-table-cards td::before { display: none; }
    .li-pessoas-tabela.lm-table-cards td.li-c-nome { grid-column: 1; grid-row: 1; }
    .li-pessoas-tabela.lm-table-cards td.li-c-st { grid-column: 2; grid-row: 1; justify-self: end; }
    .li-pessoas-tabela.lm-table-cards td.li-c-cod { grid-column: 1; grid-row: 2; min-inline-size: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
    .li-pessoas-tabela.lm-table-cards td.li-c-autz { grid-column: 2; grid-row: 2; justify-self: end; font-size: var(--lm-font-size-xs); }
    .li-pessoas-tabela.lm-table-cards td.li-c-acoes { grid-column: 1 / -1; grid-row: 3; margin-block-start: var(--lm-space-1); }
    .li-pessoas-tabela .li-linha-acoes { display: flex; justify-content: flex-start; gap: var(--lm-space-2); }
    .li-pessoas-tabela .li-voucher-trava { margin-inline-end: auto; }
    /* Remover vira só o ícone (o nome continua para o leitor de tela). */
    .li-pessoas-tabela .li-rot-remover { position: absolute; inline-size: 1px; block-size: 1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }

    /* Autorizações: a linha inteira do cartão é a área de toque da caixa. */
    .li-autz-tabela.lm-table-cards td:nth-child(n+2) { position: relative; min-block-size: 2.75rem; align-items: center; }
    .li-autz-tabela.lm-table-cards td .li-autz-cel::after { content: ""; position: absolute; inset: 0; }
    .li-autz-tabela.lm-table-cards td.lm-td-main { min-block-size: 0; }
    .li-autz-tabela.lm-table-cards td.li-sel-col { inline-size: 2.75rem; block-size: 2.75rem; inset-inline-start: var(--lm-space-2); inset-block-start: var(--lm-space-1); display: grid; place-items: center; }
    .li-autz-tabela.lm-table-cards td.li-sel-col .li-autz-cel::after { inset: 0; }
    .li-autz-tabela.lm-table-cards tbody tr { padding-block: var(--lm-space-2); padding-inline-start: calc(2.75rem + var(--lm-space-4)); }

    /* Filtro de situação: lista nativa no lugar dos quatro botões. */
    .li-grupo-toolbar #lg-p-filtro { display: none; }
    .li-grupo-toolbar .li-filtro-cel { display: block; flex: 1 1 100%; }
    .li-grupo-busca { max-inline-size: none; }

    /* As três abas cabem sem rolar. */
    .li-grupo-abas .lm-tab { padding-inline: var(--lm-space-3); gap: var(--lm-space-1); }

    /* A barra de salvar só fica presa ao pé da tela quando há o que salvar. */
    .li-salvar-barra:not(.is-pendente) { position: static; box-shadow: none; }
    .li-salvar-acoes #lg-a-salvar { flex: 1 1 auto; }
    .li-salvar-acoes #lg-a-descartar { flex: 0 0 auto; }
    .li-salvar-acoes #lg-a-salvar > .ph { display: none; }
  }
  .li-filtro-cel { display: none; }
  @media (max-width: 48rem) {
    /* Rodapé da gaveta: os dois botões lado a lado, o principal maior. */
    .li-pd-botoes { flex-wrap: nowrap; }
    .li-pd-botoes .lm-btn { flex: 1 1 auto; min-inline-size: 0; }
    .li-pd-botoes .lm-btn:last-child { flex-grow: 2; }
  }

}

/* ==================================================================
   2.73.1 — Alvos de toque (FORA de camada, exceção à convenção)

   Até o DS 3.14.1 a blindagem (regras sem camada) fixava .lm-btn-sm em
   34 px e .lm-btn-xs em 28 px e vencia a regra de 44 px do próprio DS.
   O DS 3.15.0 corrigiu isso para botões, paginação, fechar e segmentado.
   Este bloco continua para o que é da tela (rótulos, linhas de pessoa,
   células de autorização, colunas) e para o recheio dos botões pequenos.
   Fica fora de @layer; seletores com o escopo da tela para não vazar.
   ================================================================== */
@media (pointer: coarse) {
  .li-acomp .lm-segmented > label,
  .li-acomp .lm-btn.lm-btn-sm,
  .li-acomp .lm-btn.lm-btn-xs,
  .li-acomp .lm-btn,
  .li-pessoa-drawer .lm-btn.lm-btn-sm,
  .li-pessoa-drawer .lm-btn,
  #lg-modal-rem .lm-btn,
  .li-acomp .lm-page-btn,
  .li-acomp .lm-segmented > button { min-block-size: 2.75rem; block-size: auto; }
  .li-acomp .lm-page-btn { min-inline-size: 2.75rem; }
  .li-acomp .lm-btn.lm-btn-xs, .li-acomp .lm-btn.lm-btn-sm { padding-inline: var(--lm-space-3); }
  .li-pessoas-tabela .li-linha-acoes .lm-btn[data-lg-remover] { min-inline-size: 2.75rem; justify-content: center; }
  .li-acomp .lm-modal-close, .li-pessoa-drawer .lm-modal-close { min-inline-size: 2.75rem; min-block-size: 2.75rem; }
  .li-acomp .li-grupo-so, .li-pessoa-drawer .li-if-opcoes .lm-check { min-block-size: 2.75rem; display: flex; align-items: center; }
  .li-pessoa-drawer .li-if-opcoes { gap: 0 var(--lm-space-5); }
  .li-acomp .li-col-btn { padding-block: var(--lm-space-3); margin-block: calc(var(--lm-space-2) * -1); }
  .li-acomp .li-bulk-link { padding-block: var(--lm-space-3); }
  .li-pessoa-drawer .lm-choice { min-block-size: 2.75rem; }
  /* As caixas continuam do tamanho do desenho; quem cresce é a área de
     toque, pelo rótulo (::after nas autorizações; linha inteira acima). */
  .li-acomp .li-autz-cel input[type="checkbox"] { min-block-size: 0; }
}

/* 2.73.3 — Campos com 16 px em tela de toque: agora vêm do DS 3.15.0 para
   o site inteiro (antes só nesta tela, pela variável aqui). */
