.botao { display: inline-flex; align-items: center; justify-content: center; gap: 8px; min-height: var(--control-height); padding: 5px 12px; border: 1px solid var(--control); background: var(--surface); color: var(--text); font-size: 13px; font-weight: 600; line-height: 20px; text-align: center; text-decoration: none; cursor: pointer; }
.botao:hover { background: var(--raised); }
.botao:active:not(:disabled) { transform: translateY(1px); }
.botao--primario { color: var(--surface); background: var(--primary); border-color: var(--primary); }
.botao--primario:hover:not(:disabled) { color: var(--surface); background: var(--accent-hover); border-color: var(--accent-hover); }
.botao--secundario { background: var(--surface); border-color: var(--control); }
.botao--texto { padding-inline: 4px; border-color: transparent; background: transparent; color: var(--muted); }
.botao--texto:hover { color: var(--text); background: transparent; text-decoration: underline; }
.botao[aria-disabled="true"] { color: var(--faint); cursor: not-allowed; }
/* Raios por função; não recortar painéis, para preservar foco e menus. */
.botao, .segmentos__item, .inicial,
input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]),
select, textarea { border-radius: var(--radius-control); }
.painel { border-radius: var(--radius-card); box-shadow: var(--sombra-1); }
.aviso { border-radius: var(--radius-control); }
.chip { gap: 5px; border-radius: var(--radius-chip); }
.formulario { display: flex; flex-direction: column; gap: 16px; min-width: 0; }
.formulario__campo { display: flex; flex-direction: column; gap: 5px; min-width: 0; }
.formulario__campo label { color: var(--muted); font-size: 13px; }
.formulario__campo input, .formulario__campo select { width: 100%; }
.formulario--inline { display: inline-flex; flex-direction: row; flex-wrap: wrap; align-items: center; gap: 8px; }
.formulario--inline label { display: inline-flex; align-items: center; gap: 6px; }
.formulario__check { display: flex; align-items: flex-start; gap: 8px; font-size: 13px; overflow-wrap: anywhere; }
.formulario__checkbox { display: flex; align-items: flex-start; gap: 8px; font-size: 13px; overflow-wrap: anywhere; }
.texto-secundario { color: var(--muted); font-size: var(--fs-small); }
.acoes { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; }
.painel { min-width: 0; padding: var(--card-pad); background: var(--surface); border: 1px solid var(--border); }
.painel > * + * { margin-top: 16px; }
.painel--estreito { width: 100%; max-width: 440px; margin-inline: auto; }
.titulo { font-size: var(--fs-title); font-weight: 600; }
.subtitulo { font-size: var(--fs-section); font-weight: 600; }
.aviso { padding: 10px 12px; border: 1px solid var(--border); background: var(--raised); overflow-wrap: anywhere; }
.aviso--erro { color: var(--negative); border-color: var(--negative); background: var(--surface); }
.chip { display: inline-flex; align-items: center; min-height: 20px; padding: 0 6px; border: 1px solid var(--border); color: var(--muted); background: var(--surface); font-size: var(--fs-small); line-height: 18px; font-weight: 600; }
.chip--positivo, .chip--negativo, .chip--atencao { border-color: transparent; }
.chip--positivo { background: var(--pill-positive-bg); color: var(--pill-positive-ink); }
.chip--negativo { background: var(--pill-negative-bg); color: var(--pill-negative-ink); }
.chip--atencao { background: var(--pill-warning-bg); color: var(--pill-warning-ink); }
.inicial { display: inline-flex; flex: 0 0 36px; align-items: center; justify-content: center; width: 36px; height: 36px; background: var(--active); color: var(--accent); font-size: 16px; font-weight: 600; }
.inicial--pequena { flex-basis: 28px; width: 28px; height: 28px; font-size: var(--fs-small); }
.abas { display: flex; gap: 16px; min-width: 0; border-bottom: 1px solid var(--rule); }
.abas__item { display: inline-flex; align-items: center; justify-content: center; gap: 8px; min-height: 44px; margin-bottom: -1px; padding: 8px 0; border: 0; border-bottom: 2px solid transparent; background: transparent; color: var(--muted); font-size: 14px; text-decoration: none; white-space: nowrap; }
.abas__item[aria-selected="true"] { color: var(--accent); border-bottom-color: var(--accent); font-weight: 600; }
.abas__item:hover { color: var(--text); }
.abas__contador { min-width: 12px; text-align: right; font-size: var(--fs-small); }
.estado { min-width: 0; padding: 24px 20px; }
.estado__titulo { margin-bottom: 8px; font-size: var(--fs-section); font-weight: 600; }
.estado__mensagem, .estado__leitura { max-width: 56ch; color: var(--muted); font-size: 13px; overflow-wrap: anywhere; }
.estado__texto { margin-block: 8px 16px; color: var(--muted); font-size: 13px; overflow-wrap: anywhere; }
.estado__leitura { margin-top: 8px; font-size: var(--fs-small); }
.estado__acao { margin-top: 16px; }
.estado--erro { border-left: 2px solid var(--negative); background: var(--surface); }
.estado--erro .estado__titulo { color: var(--negative); }
.esqueleto { display: grid; gap: 16px; }
.esqueleto--titulo { width: 58%; height: 18px; margin-bottom: 20px; background: var(--active); }
.esqueleto__linha { height: 12px; width: 86%; background: var(--active); }
.esqueleto__linha:nth-child(2n) { width: 64%; }
.esqueleto__linha:nth-child(3n) { width: 92%; margin-bottom: 12px; }
.indicador { position: absolute; top: 0; right: 0; left: 0; height: 2px; z-index: 2; background: var(--accent); opacity: 0; pointer-events: none; transition: opacity 0s; }
.htmx-request > .indicador, .indicador.htmx-request { opacity: 1; transition: opacity 120ms linear 150ms; }
.paginacao { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 12px; padding: 12px 16px; border-top: 1px solid var(--rule); }
.paginacao__resumo { font-size: var(--fs-small); color: var(--muted); }
.paginacao__acoes { display: flex; gap: 8px; }
.paginacao__desabilitado { display: inline-flex; align-items: center; min-height: 32px; padding: 5px 8px; color: var(--faint); font-size: var(--fs-small); }
.tabela { width: 100%; border-collapse: collapse; }
.tabela th, .tabela td { padding: 8px 16px; border-bottom: 1px solid var(--rule); text-align: left; vertical-align: middle; }
.tabela th { color: var(--muted); font-size: var(--fs-small); font-weight: 500; }
.tabela tbody tr { height: var(--row-height); }
.tabela .numero { text-align: right; }
.tabela__acoes .aviso { margin-top: 8px; overflow-wrap: anywhere; }
.dados dt { color: var(--muted); font-size: var(--fs-small); }
.dados dd { margin: 4px 0 14px; overflow-wrap: anywhere; }
.codigos { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; list-style: none; padding: 0; }
.codigos__item { font-family: ui-monospace, Consolas, monospace; font-size: var(--fs-small); }
/* Navegação e registros compartilhados pelas fichas. */
.trilha-navegacao { margin-bottom: 16px; color: var(--muted); font-size: var(--fs-small); }
.trilha-navegacao ol { display: flex; flex-wrap: wrap; gap: 6px; padding: 0; list-style: none; }
.trilha-navegacao li { min-width: 0; overflow-wrap: anywhere; }
.trilha-navegacao li + li::before { content: "/"; margin-right: 6px; color: var(--faint); }
.trilha-navegacao a { text-decoration: none; }
.trilha-navegacao a:hover { text-decoration: underline; }
.cabecalho-ficha { display: flex; align-items: flex-start; justify-content: space-between; gap: 24px; }
.cabecalho-ficha__identidade { min-width: 0; }
.cabecalho-ficha__identidade h1 { overflow-wrap: anywhere; }
.cabecalho-ficha__identidade > .chip, .cabecalho-ficha__identidade > .acoes { margin-top: 8px; }
.cabecalho-ficha > .acoes { flex-shrink: 0; }
.tabela-rolavel, .tabela-envoltoria { min-width: 0; overflow-x: auto; }
.segmentos { display: flex; flex-wrap: wrap; gap: 6px; padding: 0; list-style: none; }
.segmentos__item { display: inline-flex; align-items: center; gap: 8px; min-height: 32px; padding: 5px 9px; border: 1px solid var(--border); background: var(--surface); color: var(--muted); font-size: var(--fs-small); text-decoration: none; }
.segmentos__item:hover { background: var(--raised); color: var(--text); }
.segmentos__item[aria-current="page"], .segmentos__item[aria-selected="true"] { color: var(--text); background: var(--active); border-color: var(--control); font-weight: 600; }
.segmentos__contador { min-width: 12px; text-align: right; font-variant-numeric: tabular-nums; }
.registro-lista, .registros { margin: 0; padding: 0; list-style: none; }
.registro { min-width: 0; padding-block: 16px; border-top: 1px solid var(--rule); }
.registro__cabecalho { display: flex; flex-wrap: wrap; align-items: baseline; justify-content: space-between; gap: 8px 16px; }
.registro__cabecalho > :first-child { min-width: 0; overflow-wrap: anywhere; }
.registro__cabecalho time { margin-left: auto; color: var(--faint); font-size: var(--fs-small); text-align: right; }
.registro__texto { margin-top: 8px; max-width: 80ch; white-space: pre-wrap; overflow-wrap: anywhere; }
.registro__metadados { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin-top: 8px; color: var(--muted); font-size: var(--fs-small); }
/* Ícones locais e navegação comuns a todas as telas internas. */
.icone { display: inline-block; flex: 0 0 18px; width: 18px; height: 18px; vertical-align: -3px; }
.titulo-com-icone { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; }
h1.titulo-com-icone > .icone { width: 22px; height: 22px; flex-basis: 22px; color: var(--accent); }
.botao--icone { width: 34px; min-width: 34px; height: 34px; padding: 0; }
.barra-historico { display: flex; align-items: center; gap: 14px; margin-bottom: 20px; min-width: 0; }
.barra-historico__botoes { display: flex; flex-shrink: 0; gap: 6px; }
.barra-historico .trilha-navegacao { min-width: 0; margin-bottom: 0; }
.barra-historico__atalhos { flex-shrink: 0; margin-left: auto; }
kbd { padding: 1px 5px; border: 1px solid var(--control); border-bottom-width: 2px; border-radius: 4px; background: var(--surface); color: var(--muted); font: inherit; font-size: 12px; }
.secao-cabecalho { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 12px; }
.atalhos-dialogo { width: min(480px, calc(100vw - 32px)); max-height: calc(100dvh - 48px); margin: auto; padding: 24px; border: 1px solid var(--border); border-radius: var(--radius-card); background: var(--surface); color: var(--text); box-shadow: var(--sombra-2); }
.atalhos-dialogo::backdrop { background: var(--backdrop); }
.atalhos-dialogo > .texto { margin-top: 8px; }
.atalhos-lista { margin-top: 20px; }
.atalhos-lista > div { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 9px 0; border-top: 1px solid var(--rule); }
.atalhos-lista dt { flex-shrink: 0; }
.atalhos-lista dd { margin: 0; color: var(--muted); font-size: 13px; text-align: right; }
.filtros { min-width: 0; padding: 12px; border: 1px solid var(--border); border-radius: var(--radius-card); background: var(--raised); }
.filtros > summary { display: flex; align-items: center; gap: 8px; color: var(--text); font-weight: 600; list-style: none; }
.filtros > summary::-webkit-details-marker { display: none; }
.filtros > summary::after { content: "+"; margin-left: auto; color: var(--muted); font-size: 18px; }
.filtros[open] > summary::after { content: "−"; }
.filtros[open] > summary { margin-bottom: 12px; }
.filtros__grade, .filtros__campos { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; align-items: end; }
.filtros__campo--inteiro { grid-column: 1 / -1; }
.filtros__check { display: flex; gap: 8px; align-items: center; font-size: 13px; }
.filtros__ativos { display: flex; flex-wrap: wrap; gap: 6px; padding-top: 10px; }
.filtro-ativo { display: inline-flex; align-items: center; gap: 5px; min-width: 0; max-width: 100%; padding: 3px 7px; border: 1px solid var(--control); border-radius: var(--radius-chip); color: var(--accent); background: var(--accent-soft); font-size: var(--fs-small); text-decoration: none; overflow-wrap: anywhere; }
.filtro-ativo:hover { border-color: var(--accent); }
.filtro-ativo .icone { width: 14px; height: 14px; flex-basis: 14px; }
.filtros-periodo { display: flex; flex-wrap: wrap; align-items: end; gap: 12px; padding: 12px; border-radius: var(--radius-control); background: var(--raised); }
.filtros-periodo .formulario__campo { flex: 1; min-width: 130px; }
[data-linha-clicavel] { cursor: pointer; }
.tabela--elevada { border: 1px solid var(--border); border-radius: var(--radius-card); background: var(--surface); box-shadow: var(--sombra-1); }
.tabela-rolavel:focus-visible, .tabela-envoltoria:focus-visible { outline-offset: -3px; }
@media (max-width: 640px) {
  .barra-historico { flex-wrap: wrap; gap: 10px; }
  .barra-historico .trilha-navegacao { order: 3; flex-basis: 100%; }
  .filtros__grade, .filtros__campos { grid-template-columns: minmax(0, 1fr); }
}
@media (prefers-reduced-motion: reduce) {
  .indicador, .indicador.htmx-request, .htmx-request > .indicador { transition: none; }
  .botao:active:not(:disabled) { transform: none; }
}
