/* Lavraria · refinamento da identidade aprovada, 23/09/2026.
   Camada visual: não altera dados, rotas ou estados dos componentes. */
:root {
  --fundo: #f6f7f8;
  --raio: 16px;
  --sombra: 0 4px 18px rgba(24,43,64,.055);
}
.lateral {
  background: linear-gradient(165deg, #1e3048 0%, #19283d 48%, #142236 100%);
  border-right: 1px solid #ffffff0a;
}
.lateral .marca { margin-bottom: 38px; }
.lateral .marca .monograma { width: 37px; height: 43px; }
.lateral .marca .monograma .fundo { fill: none; stroke: #b59860; stroke-width: 1.1; }
.escritorio { background: #ffffff03; border-color: #ffffff12; padding: 14px 11px; }
.lateral nav a { transition: background var(--rapido), color var(--rapido); }
.lateral nav a.ativa { background: #ffffff09; box-shadow: inset 0 0 0 1px #ffffff06; }
.lateral-rodape { padding-top: 24px; }
.topo { background: #ffffffed; backdrop-filter: blur(16px); }
.conteudo { max-width: 1600px; width: 100%; margin-inline: auto; }
h1 { font-weight: 650; letter-spacing: -1.25px; }
.cabecalho-pagina { margin-bottom: 32px; }
.subtitulo { max-width: 68ch; }
.botao { min-height: 44px; border-radius: 8px; }
.botao-primario { box-shadow: 0 3px 7px #19283d12; }
.botao-primario:hover { box-shadow: 0 5px 14px #19283d20; }
.botao-pequeno { min-height: 36px; }
.painel, .cartao { box-shadow: 0 2px 4px #19283d02; }
.indicador { padding: 22px; border-radius: 13px; transition: border-color var(--rapido), box-shadow var(--rapido); }
.indicador:hover { border-color: #b8c4d2; box-shadow: var(--sombra); }
.indicador[aria-pressed="true"] { border-color: var(--ouro-borda); background: linear-gradient(130deg,#fffdf8,#fff); }
.indicador strong { font-size: 32px; font-weight: 650; }
.indicador-topo { margin-bottom: 19px; }
.faixa-atencao { background: linear-gradient(100deg,#faf5e9,#fdfaf4); border-radius: 12px; }
.ferramentas { gap: 16px; }
.busca { height: 44px; max-width: 330px; border-radius: 8px; }
.item-processo { border-radius: 13px; padding-block: 25px; }
.item-processo .titulo { font-size: 16px; line-height: 1.5; margin-bottom: 7px; }
.tipo-processo { font-size: 10px; letter-spacing: 1.45px; }
.simbolo-processo { border-radius: 10px 3px 10px 3px; }
.chip { border-radius: 6px; }
.guia { margin-top: 34px; padding-top: 28px; }
.guia-cabecalho { margin-bottom: 23px; }
.passo-guia { line-height: 1.6; }
.etapas { padding: 5px; gap: 4px; border-radius: 12px; box-shadow: 0 2px 5px #19283d03; }
.etapa { border-radius: 8px; padding: 15px 8px; border-bottom: 0; }
.etapa.atual, .etapa[aria-current="step"] { background: #eef2f6; box-shadow: inset 0 0 0 1px #e2e8f0; }
.etapa.atual .numero-etapa, .etapa[aria-current="step"] .numero-etapa { box-shadow: 0 2px 5px #19283d1a; }
.grade-processo { gap: 24px; }
.painel-contexto { background: #fafbfd; }
.painel-contexto > h2, .painel-contexto > h3 { font-weight: 650; }
.abas-secao { gap: 8px; }
.abas-secao button { min-height: 44px; border-radius: 8px; }
label.campo, .campo { gap: 9px; }
input, select, textarea { border-radius: 8px; padding: 12px 14px; }
input:hover:not(:disabled):not(:focus):not(.invalido):not(.a-conferir),
select:hover:not(:disabled):not(:focus):not(.invalido):not(.a-conferir),
textarea:hover:not(:disabled):not(:focus):not(.invalido):not(.a-conferir) { border-color: #aebbc9; }
textarea { font-family: var(--f-texto); font-size: 14px; line-height: 1.7; }
.grade-campos { gap: 23px 20px; }
fieldset.grupo-ficha { padding: 18px 20px 22px; background: #fcfdfe; }
fieldset.grupo-ficha legend { padding: 0 8px; font-weight: 600; }
.ficha-secao h3 { margin-bottom: 20px; }
details.entidade, .item-ficha { padding: 17px 18px; border-radius: 10px; }
details.entidade[open] summary { padding-bottom: 15px; margin-bottom: 20px; border-bottom: 1px solid var(--linha); }
.titulo-entidade strong { text-transform: none; font-size: 14px; }
.rodape-formulario { padding-top: 24px; }
.tabela-rolagem { border-radius: 12px; }
th { padding-block: 15px; background: #f7f9fb; }
td { padding-block: 17px; }
.modal { box-shadow: 0 30px 100px #14223630; }
.modal::backdrop { background: #14223666; backdrop-filter: blur(4px); }
.vazio { padding: 54px 20px; }
.vazio > .icone { border-radius: 17px 5px 17px 5px; color: var(--ouro-texto); background: #faf7f1; border-color: #e9e3d8; }
.vazio p { font-size: 14px; line-height: 1.8; }
@media(min-width:1251px) {
  .conteudo { padding-top: 42px; }
  .grade-processo > .painel-contexto { position: sticky; top: calc(var(--altura-topo) + 24px); }
  /* O resumo acompanha a ficha, mas não disputa espaço com o robô ativo. */
  .casca:has(.barra-robo:not([hidden])) .grade-processo > .painel-contexto { position: static; }
}
@media(max-width:740px) {
  h1 { font-size: 28px; }
  .subtitulo { font-size: 14px; }
  .cabecalho-pagina { margin-bottom: 24px; }
  .indicador { padding: 17px 15px; }
  .indicador-topo { margin-bottom: 16px; }
  .indicador strong { font-size: 29px; }
  .item-processo { padding: 20px 15px; }
  .item-processo .titulo { font-size: 15px; overflow-wrap: anywhere; }
  .etapas { gap: 3px; padding: 4px; }
  .etapa { padding: 13px 10px; }
  .busca { max-width: none; }
  .grade-campos { gap: 20px; }
  fieldset.grupo-ficha { padding: 15px 13px 18px; }
  .painel, .cartao { border-radius: 12px; }
  .vazio { padding: 36px 16px; }
}
