/* Identidade: cores da marca VLR. (logo) e da apresentação de contencioso */
:root {
  --marinho: #1b3d6e;        /* azul da marca VLR. */
  --marinho-escuro: #002060; /* títulos da apresentação */
  --vermelho: #c02032;       /* ponto do logo / selo "AC" */
  --aco: #b4c6d6;            /* faixa de título dos slides */
  --aco-claro: #e6edf3;
  --fundo: #f5f7f9;
  --superficie: #ffffff;
  --texto: #1f2933;
  --texto-suave: #5b6672;
  --borda: #d9e1e8;
  --sombra: 0 1px 2px rgba(16, 37, 66, .06), 0 2px 8px rgba(16, 37, 66, .06);
  --raio: 6px;
  --fonte: "Lato", "Segoe UI", Arial, sans-serif;
}

* { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; }
body {
  margin: 0;
  font-family: var(--fonte);
  font-size: 15px;
  line-height: 1.5;
  color: var(--texto);
  background: var(--fundo);
}
button, input, textarea, select { font: inherit; color: inherit; }
[hidden] { display: none !important; }

/* ---------- Cabeçalho ---------- */
.topo { background: var(--aco); border-top: 4px solid var(--marinho); }
.topo__conteudo {
  max-width: 1360px; margin: 0 auto; padding: 18px 28px;
  display: flex; align-items: center; justify-content: space-between; gap: 24px;
}
.topo__cliente { margin: 0 0 2px; font-size: 13px; letter-spacing: .04em; text-transform: uppercase; color: var(--marinho); font-weight: 700; }
.topo__titulo { margin: 0; font-size: 28px; line-height: 1.15; font-weight: 900; color: var(--marinho-escuro); }
.topo__logo { height: 52px; width: auto; flex-shrink: 0; }

/* ---------- Barra de ferramentas ---------- */
.barra { background: var(--superficie); border-bottom: 1px solid var(--borda); position: sticky; top: 0; z-index: 10; }
.barra__conteudo {
  max-width: 1360px; margin: 0 auto; padding: 12px 28px;
  display: flex; align-items: center; gap: 16px; flex-wrap: wrap;
}
.busca { position: relative; flex: 1 1 320px; max-width: 460px; }
.busca svg { position: absolute; left: 11px; top: 50%; width: 18px; height: 18px; transform: translateY(-50%); fill: none; stroke: var(--texto-suave); stroke-width: 2; stroke-linecap: round; }
.busca input {
  width: 100%; padding: 9px 12px 9px 36px; border: 1px solid var(--borda); border-radius: var(--raio);
  background: var(--fundo);
}
.busca input:focus { outline: 2px solid var(--marinho); outline-offset: -1px; background: #fff; }
.atalhos { display: flex; gap: 4px; flex-wrap: wrap; }
.atalhos a {
  font-size: 13px; text-decoration: none; color: var(--texto-suave); padding: 5px 10px; border-radius: 999px;
  border: 1px solid transparent; white-space: nowrap;
}
.atalhos a:hover { background: var(--aco-claro); color: var(--marinho); }
.atalhos a.tem-itens { color: var(--marinho); font-weight: 700; border-color: var(--borda); }
.acoes { display: flex; gap: 8px; margin-left: auto; flex-wrap: wrap; }

/* ---------- Botões ---------- */
.btn {
  border: 1px solid var(--marinho); background: var(--marinho); color: #fff; border-radius: var(--raio);
  padding: 7px 14px; font-size: 14px; font-weight: 700; cursor: pointer; white-space: nowrap;
}
.btn:hover { background: var(--marinho-escuro); }
.btn--sec { background: #fff; color: var(--marinho); }
.btn--sec:hover { background: var(--aco-claro); }
.btn--link { background: none; border-color: transparent; color: var(--texto-suave); font-weight: 400; padding-inline: 6px; }
.btn--link:hover { background: none; color: var(--vermelho); text-decoration: underline; }
.btn--perigo { background: #fff; border-color: var(--vermelho); color: var(--vermelho); }
.btn--perigo:hover { background: #fbeaec; }
.btn--peq { padding: 4px 10px; font-size: 13px; }
.btn:focus-visible, .card:focus-visible, .recurso-item:focus-visible { outline: 2px solid var(--vermelho); outline-offset: 2px; }

/* ---------- Seções ---------- */
.principal { max-width: 1360px; margin: 0 auto; padding: 24px 28px 48px; }
.secao { margin-bottom: 36px; scroll-margin-top: 80px; }
.secao__cab { display: flex; align-items: baseline; gap: 12px; flex-wrap: wrap; border-bottom: 2px solid var(--marinho); padding-bottom: 8px; margin-bottom: 16px; }
.secao__tipo { font-size: 12px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; color: var(--vermelho); }
.secao__nome { margin: 0; font-size: 22px; font-weight: 900; color: var(--marinho-escuro); }
.secao__desc { color: var(--texto-suave); font-size: 14px; }
.secao__cont { margin-left: auto; font-size: 13px; color: var(--texto-suave); }
.secao--vazia .secao__cab { border-bottom-color: var(--borda); margin-bottom: 0; align-items: center; }
.secao--vazia .secao__nome { font-size: 18px; color: var(--texto-suave); }
.breves { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fill, minmax(300px, 1fr)); gap: 0 24px; }
.breve { display: flex; flex-wrap: wrap; align-items: baseline; gap: 4px 10px; padding: 10px 0; border-bottom: 1px solid var(--borda); scroll-margin-top: 80px; }
.breve strong { color: var(--marinho-escuro); }
.breve__desc { flex-basis: 100%; font-size: 13px; color: var(--texto-suave); }
.breve .btn { margin-left: auto; }
.em-breve { font-size: 12px; font-weight: 700; color: var(--texto-suave); background: var(--aco-claro); padding: 2px 8px; border-radius: 999px; }

.grade { display: grid; grid-template-columns: repeat(auto-fill, minmax(310px, 1fr)); gap: 18px; }
.sem-resultado { color: var(--texto-suave); padding: 24px; text-align: center; background: var(--superficie); border: 1px dashed var(--borda); border-radius: var(--raio); }

/* ---------- Card ---------- */
.card {
  display: flex; flex-direction: column; background: var(--superficie); border: 1px solid var(--borda);
  border-radius: var(--raio); box-shadow: var(--sombra); overflow: hidden; cursor: pointer; text-align: left;
  padding: 0; transition: transform .12s ease, box-shadow .12s ease, border-color .12s ease;
  text-decoration: none; color: inherit;
}
.recurso-item { text-decoration: none; color: inherit; }
.card:hover { transform: translateY(-2px); border-color: #b9c7d4; box-shadow: 0 4px 16px rgba(16, 37, 66, .12); }
.card__img { position: relative; aspect-ratio: 16 / 8; background: var(--aco-claro); }
.card__img img { width: 100%; height: 100%; object-fit: cover; display: block; }
.card__img--vazia { display: grid; place-items: center; color: var(--texto-suave); font-size: 13px; }
.selo {
  display: inline-block; font-size: 11px; font-weight: 900; letter-spacing: .02em; padding: 2px 7px;
  border-radius: 3px; background: var(--marinho-escuro); color: #fff;
}
.selo--ac { background: var(--vermelho); }
.card__img .selo { position: absolute; left: 12px; bottom: 10px; }
.card__corpo { padding: 14px 16px 12px; display: flex; flex-direction: column; gap: 6px; flex: 1; }
.card__classe { font-size: 12px; font-weight: 700; letter-spacing: .03em; text-transform: uppercase; color: var(--texto-suave); }
.card__numero { font-size: 17px; font-weight: 900; color: var(--marinho-escuro); font-variant-numeric: tabular-nums; }
.card__linha { font-size: 13.5px; color: var(--texto); display: flex; gap: 6px; }
.card__linha b { color: var(--texto-suave); font-weight: 700; flex-shrink: 0; }
.card__linha span { min-width: 0; }
.uma-linha { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.card__ultimo { margin-top: auto; border-top: 1px solid var(--borda); background: #fafbfc; padding: 10px 16px 12px; }
.card__ultimo-cab { display: flex; justify-content: space-between; gap: 8px; font-size: 12px; color: var(--texto-suave); margin-bottom: 2px; }
.card__ultimo-cab strong { color: var(--marinho); font-size: 13px; }
.card__ultimo p { margin: 0; font-size: 13.5px; display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; }
.card__achado { font-size: 12px; color: var(--vermelho); }

/* ---------- Painel de detalhes ---------- */
.painel { position: fixed; inset: 0; z-index: 50; }
.painel__fundo { position: absolute; inset: 0; background: rgba(10, 25, 45, .45); }
.painel__caixa {
  position: absolute; top: 0; right: 0; bottom: 0; width: min(960px, 100%); background: var(--fundo);
  box-shadow: -8px 0 24px rgba(0, 0, 0, .18); overflow-y: auto; animation: entrar .18s ease-out;
}
@keyframes entrar { from { transform: translateX(24px); opacity: .6; } to { transform: none; opacity: 1; } }
.painel__conteudo { padding: 0 0 48px; }
.det-topo { background: var(--superficie); border-bottom: 1px solid var(--borda); padding: 16px 28px 18px; position: sticky; top: 0; z-index: 2; }
.det-nav { display: flex; align-items: center; gap: 8px; justify-content: space-between; margin-bottom: 10px; }
.trilha { font-size: 13px; color: var(--texto-suave); display: flex; gap: 6px; flex-wrap: wrap; align-items: center; }
.trilha a { color: var(--marinho); text-decoration: none; font-weight: 700; }
.trilha a:hover { text-decoration: underline; }
.fechar { border: none; background: none; font-size: 26px; line-height: 1; cursor: pointer; color: var(--texto-suave); padding: 2px 8px; border-radius: var(--raio); }
.fechar:hover { background: var(--aco-claro); color: var(--texto); }
.det-classe { font-size: 13px; font-weight: 700; text-transform: uppercase; letter-spacing: .03em; color: var(--vermelho); margin: 0; }
.det-titulo { margin: 2px 0 4px; font-size: 24px; line-height: 1.2; font-weight: 900; color: var(--marinho-escuro); font-variant-numeric: tabular-nums; }
.det-sub { margin: 0; color: var(--texto-suave); font-size: 14px; }
.det-selos { display: flex; gap: 6px; flex-wrap: wrap; margin-top: 8px; }

.bloco { margin: 18px 28px 0; background: var(--superficie); border: 1px solid var(--borda); border-radius: var(--raio); padding: 18px 20px; }
.bloco__cab { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-bottom: 12px; flex-wrap: wrap; }
.bloco__titulo { margin: 0; font-size: 16px; font-weight: 900; color: var(--marinho-escuro); }
.bloco__titulo small { font-weight: 400; color: var(--texto-suave); font-size: 13px; margin-left: 6px; }

.det-intro { display: grid; grid-template-columns: 260px 1fr; gap: 20px; align-items: start; }
.det-intro img { width: 100%; aspect-ratio: 4 / 3; object-fit: cover; border-radius: var(--raio); border: 1px solid var(--borda); }
.dados { display: grid; grid-template-columns: 150px 1fr; gap: 8px 16px; margin: 0; font-size: 14px; }
.dados dt { color: var(--texto-suave); font-weight: 700; }
.dados dd { margin: 0; }
.nao-informado { color: #9aa5b1; font-style: italic; }
.obs { margin-top: 12px; font-size: 13px; color: var(--texto-suave); background: #fff8e6; border-left: 3px solid #e0b040; padding: 8px 12px; border-radius: 0 var(--raio) var(--raio) 0; }

textarea.notas {
  width: 100%; min-height: 110px; resize: vertical; padding: 10px 12px; border: 1px solid var(--borda);
  border-radius: var(--raio); background: #fffef8; line-height: 1.5;
}
textarea.notas:focus { outline: 2px solid var(--marinho); outline-offset: -1px; }
.salvo-em { font-size: 12px; color: var(--texto-suave); }

/* Formulários */
.form { display: grid; gap: 10px; background: var(--aco-claro); border-radius: var(--raio); padding: 14px; margin-bottom: 14px; }
.form__linha { display: grid; grid-template-columns: 170px 1fr; gap: 10px; }
.form label { display: grid; gap: 3px; font-size: 13px; font-weight: 700; color: var(--texto-suave); }
.form input, .form textarea, .form select { padding: 7px 10px; border: 1px solid var(--borda); border-radius: var(--raio); background: #fff; font-weight: 400; color: var(--texto); }
.form textarea { min-height: 80px; resize: vertical; }
.form__2col { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.form__acoes { display: flex; gap: 8px; justify-content: flex-end; align-items: center; }
.form__acoes .esq { margin-right: auto; }

/* Linha do tempo de andamentos */
.linha-tempo { list-style: none; margin: 0; padding: 0; }
.and { display: grid; grid-template-columns: 104px 1fr auto; gap: 14px; padding: 11px 0; border-top: 1px solid var(--borda); }
.and:first-child { border-top: none; }
.and__data { font-weight: 900; color: var(--marinho); font-variant-numeric: tabular-nums; font-size: 14px; }
.and__desc { margin: 0; font-size: 14px; }
.and__origem { display: block; margin-top: 2px; font-size: 12px; color: #8a96a3; }
.and__novo { background: #f2f7ec; margin: 0 -10px; padding: 11px 10px; border-radius: var(--raio); }
.and__remover { border: none; background: none; color: #a8b2bd; cursor: pointer; font-size: 18px; line-height: 1; padding: 0 4px; align-self: start; visibility: hidden; }
.and:hover .and__remover, .and__remover:focus { visibility: visible; }
.and__remover:hover { color: var(--vermelho); }
.ano { list-style: none; font-size: 12px; font-weight: 900; letter-spacing: .08em; color: var(--texto-suave); padding: 14px 0 4px; border-top: 1px solid var(--borda); }
.ano:first-child { padding-top: 0; border-top: none; }
.ano + .and { border-top: none; }
.mais { margin-top: 10px; }

/* Recursos */
.recursos { display: grid; gap: 8px; }
.recurso-item {
  display: grid; grid-template-columns: 1fr auto; gap: 4px 12px; text-align: left; width: 100%;
  border: 1px solid var(--borda); background: #fff; border-radius: var(--raio); padding: 11px 14px; cursor: pointer;
}
.recurso-item:hover { border-color: var(--marinho); background: #fbfcfd; }
.recurso-item__tipo { font-weight: 900; color: var(--marinho-escuro); }
.recurso-item__num { font-variant-numeric: tabular-nums; color: var(--texto); white-space: nowrap; }
.recurso-item__meta { grid-column: 1 / -1; font-size: 13px; color: var(--texto-suave); }
.recurso-item__meta .uma-linha { display: block; }
.sit { font-size: 12px; font-weight: 700; padding: 2px 8px; border-radius: 999px; white-space: nowrap; align-self: start; background: #e5edf6; color: var(--marinho); }
.sit--encerrado { background: #eceff2; color: #66727f; }
.sit--julgado { background: #e5f2ea; color: #1f6b3a; }
.sit--inadmitido { background: #fdf1de; color: #8a5300; }
.vazio { color: var(--texto-suave); font-size: 14px; margin: 0; }

/* Aviso flutuante */
.aviso {
  position: fixed; left: 50%; bottom: 24px; transform: translate(-50%, 20px); opacity: 0; pointer-events: none;
  background: var(--marinho-escuro); color: #fff; padding: 10px 18px; border-radius: var(--raio); font-size: 14px;
  box-shadow: var(--sombra); transition: opacity .2s, transform .2s; z-index: 80; max-width: calc(100% - 32px);
}
.aviso.visivel { opacity: 1; transform: translate(-50%, 0); }

.rodape { max-width: 1360px; margin: 0 auto; padding: 0 28px 28px; display: flex; justify-content: space-between; gap: 16px; flex-wrap: wrap; font-size: 12px; color: var(--texto-suave); }

body.sem-rolagem { overflow: hidden; }
.card__contagem { margin: 6px 0 0; }

/* ---------- Conta (menu do usuário) ---------- */
.topo__dir { display: flex; align-items: center; gap: 20px; }
.conta { position: relative; }
.conta__botao {
  display: grid; text-align: right; background: rgba(255, 255, 255, .55); border: 1px solid rgba(27, 61, 110, .25);
  border-radius: var(--raio); padding: 5px 12px; cursor: pointer; line-height: 1.25;
}
.conta__botao:hover { background: #fff; }
.conta__nome { font-weight: 700; color: var(--marinho-escuro); font-size: 14px; }
.conta__perfil { font-size: 12px; color: var(--marinho); }
.conta__menu {
  position: absolute; right: 0; top: calc(100% + 6px); z-index: 30; min-width: 240px; background: #fff;
  border: 1px solid var(--borda); border-radius: var(--raio); box-shadow: 0 8px 24px rgba(16, 37, 66, .16); padding: 6px;
  display: grid;
}
.conta__menu a, .conta__menu button {
  text-align: left; padding: 8px 10px; border: none; background: none; border-radius: 4px; cursor: pointer;
  color: var(--texto); text-decoration: none; font-size: 14px;
}
.conta__menu a:hover, .conta__menu button:hover { background: var(--aco-claro); color: var(--marinho-escuro); }
#btn-sair { border-top: 1px solid var(--borda); border-radius: 0 0 4px 4px; color: var(--vermelho); }

/* ---------- Login ---------- */
.acesso { min-height: calc(100vh - 120px); display: grid; place-items: start center; padding: 64px 16px; }
.acesso__caixa {
  width: min(400px, 100%); background: #fff; border: 1px solid var(--borda); border-top: 4px solid var(--marinho);
  border-radius: var(--raio); box-shadow: var(--sombra); padding: 28px; display: grid; gap: 14px;
}
.acesso__caixa h2 { margin: 0; color: var(--marinho-escuro); font-weight: 900; }
.acesso__caixa p { margin: 0; color: var(--texto-suave); font-size: 14px; }
.acesso__caixa label { display: grid; gap: 4px; font-size: 13px; font-weight: 700; color: var(--texto-suave); }
.acesso__caixa input { padding: 9px 11px; border: 1px solid var(--borda); border-radius: var(--raio); font-weight: 400; color: var(--texto); }
.acesso__caixa input:focus { outline: 2px solid var(--marinho); outline-offset: -1px; }
.acesso__caixa .btn { padding: 10px; font-size: 15px; }
.acesso__erro { color: var(--vermelho) !important; min-height: 1em; }

/* ---------- Painel de movimentações ---------- */
.movs {
  background: var(--superficie); border: 1px solid var(--borda); border-top: 3px solid var(--marinho);
  border-radius: var(--raio); box-shadow: var(--sombra); padding: 18px 22px; margin-bottom: 32px; scroll-margin-top: 80px;
}
.movs__cab { display: flex; justify-content: space-between; align-items: flex-start; gap: 16px; flex-wrap: wrap; }
.movs__titulo { margin: 0; font-size: 22px; font-weight: 900; color: var(--marinho-escuro); }
.movs__resumo { margin: 2px 0 0; color: var(--texto-suave); font-size: 14px; }
.movs__resumo strong { color: var(--marinho); }
.movs__acoes { display: flex; gap: 8px; flex-wrap: wrap; }
.btn:disabled { opacity: .45; cursor: not-allowed; }
.movs__filtros { display: flex; flex-wrap: wrap; gap: 6px; align-items: center; margin: 14px 0 6px; }
.chip {
  border: 1px solid var(--borda); background: #fff; color: var(--texto); border-radius: 999px; padding: 5px 12px;
  font-size: 13px; cursor: pointer;
}
.chip:hover { border-color: var(--marinho); color: var(--marinho); }
.chip--ativo { background: var(--marinho); border-color: var(--marinho); color: #fff; font-weight: 700; }
.chip--ativo:hover { color: #fff; }
.movs__datas { display: inline-flex; gap: 8px; margin-left: 6px; flex-wrap: wrap; }
.movs__datas label { font-size: 13px; color: var(--texto-suave); display: inline-flex; gap: 6px; align-items: center; }
.movs__datas input { padding: 4px 8px; border: 1px solid var(--borda); border-radius: var(--raio); }
.movs__lista { list-style: none; margin: 10px 0 0; padding: 0 0 0 14px; border-left: 3px solid #c8c8c8; }
.mov { padding: 9px 0; border-bottom: 1px dashed var(--borda); }
.mov:last-child { border-bottom: none; }
.mov__titulo { font-weight: 700; color: var(--marinho-escuro); text-decoration: none; }
.mov__titulo:hover { text-decoration: underline; }
.mov__acomp { font-size: 13px; color: var(--texto-suave); }
.mov ul { margin: 4px 0 0; padding-left: 18px; font-size: 14px; }
.mov li { margin: 2px 0; }
.mov__data { font-weight: 900; color: var(--marinho); font-variant-numeric: tabular-nums; margin-right: 4px; }

/* ---------- Modal (minuta de e-mail) ---------- */
.modal { position: fixed; inset: 0; z-index: 60; display: grid; place-items: center; padding: 16px; }
.modal__fundo { position: absolute; inset: 0; background: rgba(10, 25, 45, .5); }
.modal__caixa {
  position: relative; width: min(1180px, 100%); max-height: calc(100vh - 32px); overflow: auto; background: var(--fundo);
  border-radius: var(--raio); box-shadow: 0 16px 48px rgba(0, 0, 0, .3);
}
.modal__cab { display: flex; justify-content: space-between; align-items: center; padding: 14px 20px; background: #fff; border-bottom: 1px solid var(--borda); position: sticky; top: 0; z-index: 1; }
.modal__cab h2 { margin: 0; font-size: 18px; color: var(--marinho-escuro); font-weight: 900; }
.email { display: grid; grid-template-columns: 360px 1fr; gap: 18px; padding: 18px 20px; align-items: start; }
.email__lado { display: grid; gap: 12px; }
.email__cab { display: grid; grid-template-columns: 64px 1fr; gap: 6px 10px; margin: 0; font-size: 13px; }
.email__cab dt { font-weight: 700; color: var(--texto-suave); }
.email__cab dd { margin: 0; word-break: break-word; }
.email__cab input { width: 100%; padding: 5px 8px; border: 1px solid var(--borda); border-radius: var(--raio); font-size: 13px; }
.email__itens { display: grid; gap: 4px; max-height: 280px; overflow: auto; background: #fff; border: 1px solid var(--borda); border-radius: var(--raio); padding: 8px; }
.email__item { display: flex; gap: 8px; align-items: flex-start; font-size: 13px; cursor: pointer; }
.email__item input { margin-top: 3px; }
.email__item small { color: var(--texto-suave); }
.email__qtd { margin: 0; font-size: 12px; color: var(--texto-suave); }
.email__botoes { display: flex; gap: 8px; flex-wrap: wrap; }
.email__dica { margin: 0; font-size: 12px; color: var(--texto-suave); }
.email__previa { background: #fff; border: 1px solid var(--borda); border-radius: var(--raio); padding: 22px 26px; min-height: 300px; }

/* ---------- Administração ---------- */
.tabela-rolagem { overflow-x: auto; }
.tabela { width: 100%; border-collapse: collapse; font-size: 14px; }
.tabela th { text-align: left; font-size: 12px; text-transform: uppercase; letter-spacing: .04em; color: var(--texto-suave); padding: 8px; border-bottom: 2px solid var(--borda); }
.tabela td { padding: 10px 8px; border-bottom: 1px solid var(--borda); vertical-align: top; }
.tabela small { color: var(--texto-suave); }
.tabela tr.inativo td { opacity: .55; }
.form__grupos { border: 1px solid var(--borda); border-radius: var(--raio); background: #fff; padding: 10px 12px; display: grid; gap: 6px; margin: 0; }
.form__grupos legend { font-size: 13px; font-weight: 700; color: var(--texto-suave); padding: 0 4px; }
.form label.check { display: flex; gap: 8px; align-items: baseline; font-weight: 400; color: var(--texto); }
.form label.check small { color: var(--texto-suave); }
.check--linha { align-self: end; padding-bottom: 8px; }
.campo-senha { display: flex; gap: 6px; }
.campo-senha input { flex: 1; font-family: Consolas, monospace; }
.form__nota { margin: 0; font-size: 12px; color: var(--texto-suave); }

/* ---------- Menu ⋯, arquivamento e ordem do histórico ---------- */
.det-nav__acoes { display: flex; align-items: center; gap: 4px; }
.mais-menu { position: relative; }
.mais-menu__botao {
  border: 1px solid var(--borda); background: #fff; border-radius: var(--raio); font-size: 20px; line-height: 1;
  padding: 4px 10px 8px; cursor: pointer; color: var(--marinho);
}
.mais-menu__botao:hover, .mais-menu__botao[aria-expanded="true"] { background: var(--aco-claro); }
.mais-menu__lista {
  position: absolute; right: 0; top: calc(100% + 4px); z-index: 5; min-width: 250px; background: #fff; border: 1px solid var(--borda);
  border-radius: var(--raio); box-shadow: 0 8px 24px rgba(16, 37, 66, .16); padding: 6px; display: grid;
}
.mais-menu__lista button { text-align: left; padding: 8px 10px; border: none; background: none; border-radius: 4px; cursor: pointer; font-size: 14px; color: var(--texto); }
.mais-menu__lista button:hover { background: var(--aco-claro); color: var(--marinho-escuro); }
.mais-menu__lista button.perigo { color: var(--vermelho); border-top: 1px solid var(--borda); border-radius: 0 0 4px 4px; }
.mais-menu__lista button.perigo:hover { background: #fbeaec; }
.aviso-arquivado { margin: 18px 28px 0; padding: 12px 16px; background: #f1f3f5; border: 1px solid #d5dae0; border-left: 4px solid #66727f; border-radius: var(--raio); font-size: 14px; color: #3d4752; }
.bloco__acoes { display: flex; gap: 10px; align-items: center; flex-wrap: wrap; }
.alternar { display: inline-flex; border: 1px solid var(--borda); border-radius: var(--raio); overflow: hidden; }
.alternar button { border: none; background: #fff; padding: 5px 10px; font-size: 12.5px; cursor: pointer; color: var(--texto-suave); }
.alternar button + button { border-left: 1px solid var(--borda); }
.alternar button[aria-pressed="true"] { background: var(--marinho); color: #fff; font-weight: 700; }
.card--arquivado { opacity: .8; }
.card--arquivado .card__img { filter: grayscale(1); }
.card__arquivado { background: #eceff2; color: #4b5563; font-size: 12px; font-weight: 700; padding: 6px 16px; border-bottom: 1px solid var(--borda); }
.secao--arquivados .secao__cab { border-bottom-color: #8a96a3; }
.secao--arquivados .secao__tipo { color: #66727f; }
.card__sem-img { font-size: 13px; font-weight: 700; letter-spacing: .04em; text-transform: uppercase; color: var(--marinho); opacity: .55; text-align: center; padding: 0 16px; }
.card__img--vazia { background: linear-gradient(135deg, var(--aco-claro), #d3dfe9); }
.form--modal { margin: 18px 20px; background: #fff; border: 1px solid var(--borda); }

/* ---------- Relatório para impressão ---------- */
.impressao { display: none; }
@media print {
  body.imprimindo > *:not(#impressao) { display: none !important; }
  body.imprimindo { background: #fff; }
  body.imprimindo #impressao { display: block; font-size: 10.5pt; color: #000; }
  @page { margin: 16mm 14mm; }
}
.rel__cab { display: flex; gap: 24px; align-items: center; border-bottom: 2px solid var(--marinho); padding-bottom: 12px; margin-bottom: 14px; }
.rel__cab img { width: 150px; }
.rel__cab h1 { margin: 0; font-size: 17pt; color: var(--marinho-escuro); }
.rel__cab p { margin: 2px 0 0; color: #333; }
.rel__grupo h2 { font-size: 12.5pt; color: var(--vermelho); text-transform: uppercase; letter-spacing: .03em; margin: 18px 0 6px; }
.rel__item { break-inside: avoid; border-left: 3px solid #c8c8c8; padding: 2px 0 2px 12px; margin: 10px 0; }
.rel__item h3 { margin: 0; font-size: 11pt; color: var(--marinho-escuro); }
.rel__partes { margin: 2px 0 4px; color: #555; font-size: 9.5pt; }
.rel__item ul { margin: 4px 0 0; padding-left: 16px; }
.rel__item li { margin: 2px 0; }
.rel__dados { display: grid; grid-template-columns: 130px 1fr; gap: 3px 12px; margin: 6px 0 10px; font-size: 9.5pt; }
.rel__dados dt { font-weight: 700; color: #444; }
.rel__dados dd { margin: 0; }
.rel__ands { margin: 4px 0 0; padding-left: 16px; }
.rel__ands li { margin: 3px 0; break-inside: avoid; }
.rel__notas { background: #fff8e6; border-left: 3px solid #e0b040; padding: 6px 10px; margin: 6px 0; font-size: 9.5pt; }
.rel__vazio { color: #666; font-style: italic; }
.rel__rodape { margin-top: 24px; border-top: 1px solid #ccc; padding-top: 6px; font-size: 8.5pt; color: #666; }

/* ---------- Notebook / tablet ---------- */
@media (max-width: 900px) {
  .topo__conteudo, .barra__conteudo, .principal, .rodape { padding-left: 16px; padding-right: 16px; }
  .topo__titulo { font-size: 22px; }
  .topo__logo { height: 40px; }
  .acoes { margin-left: 0; }
  .barra { position: static; }
  .barra__conteudo { gap: 10px; }
  .card__img { max-height: 220px; width: 100%; }
  .det-topo { padding: 14px 16px; }
  .bloco { margin: 14px 16px 0; padding: 16px; }
  .det-intro { grid-template-columns: 1fr; }
  .det-intro img { max-width: 300px; }
  .email { grid-template-columns: 1fr; }
  .movs { padding: 16px; }
  .topo__dir { gap: 12px; }
}
@media (max-width: 600px) {
  .topo__cliente { display: none; }
  .dados, .form__linha, .form__2col { grid-template-columns: 1fr; }
  .dados dt { margin-top: 6px; }
  .and { grid-template-columns: 1fr auto; }
  .and__data { grid-column: 1 / -1; }
}
