/* =========================================================
   Sistema de Contatos — identidade Guilherme Uchoa Jr.
   Cores tiradas da logomarca: verde, verde-escuro, sol laranja e vermelho do "Jr."
   ========================================================= */

@font-face { font-family: "Poppins"; font-weight: 400; font-display: swap; src: url("fontes/poppins-latin-400-normal.woff2") format("woff2"); }
@font-face { font-family: "Poppins"; font-weight: 500; font-display: swap; src: url("fontes/poppins-latin-500-normal.woff2") format("woff2"); }
@font-face { font-family: "Poppins"; font-weight: 600; font-display: swap; src: url("fontes/poppins-latin-600-normal.woff2") format("woff2"); }
@font-face { font-family: "Poppins"; font-weight: 700; font-display: swap; src: url("fontes/poppins-latin-700-normal.woff2") format("woff2"); }
@font-face { font-family: "Source Sans 3"; font-weight: 400; font-display: swap; src: url("fontes/source-sans-3-latin-400-normal.woff2") format("woff2"); }
@font-face { font-family: "Source Sans 3"; font-weight: 600; font-display: swap; src: url("fontes/source-sans-3-latin-600-normal.woff2") format("woff2"); }
@font-face { font-family: "Source Sans 3"; font-weight: 700; font-display: swap; src: url("fontes/source-sans-3-latin-700-normal.woff2") format("woff2"); }

:root {
  /* marca */
  --verde: #05a017;
  --verde-escuro: #0d6d14;
  --verde-noite: #0c3002;
  --sol: #fea11a;
  --vermelho: #e50a0a;
  /* interface */
  --fundo: #f1f4ee;
  --papel: #ffffff;
  --tinta: #13230f;
  --suave: #5a6a57;
  --linha: #dde4d8;
  --linha-fraca: #edf1ea;
  --marca: var(--verde-escuro);
  --marca-escura: #0a5510;
  --marca-clara: #e4f3e2;
  --sol-claro: #fff3de;
  --alerta: #c20c0c;
  --alerta-claro: #fdeaea;
  --aviso: #8a5a00;
  --aviso-claro: #fff4df;
  --raio: 10px;
  --raio-p: 7px;
  --sombra: 0 1px 2px rgba(12, 48, 2, .05), 0 4px 14px rgba(12, 48, 2, .04);
  --lateral: 252px;
  --titulo: "Poppins", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  --texto: "Source Sans 3", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Arial, sans-serif;
  color-scheme: light;
}
* { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; }
body { margin: 0; background: var(--fundo); color: var(--tinta); font: 16px/1.5 var(--texto); }
a { color: var(--marca); text-underline-offset: 2px; }
h1, h2, h3 { font-family: var(--titulo); color: var(--verde-noite); }
h1 { font-size: 1.6rem; font-weight: 700; margin: 0 0 .2rem; letter-spacing: -.015em; line-height: 1.2; }
h2 { font-size: 1.02rem; font-weight: 600; margin: 0 0 .75rem; letter-spacing: -.005em; }
.sub { color: var(--suave); margin: 0 0 1.25rem; }
:focus-visible { outline: 3px solid rgba(254, 161, 26, .7); outline-offset: 2px; }
.ic { width: 18px; height: 18px; flex: none; }
[hidden] { display: none !important; }

/* ---------- Estrutura: barra lateral + conteúdo ---------- */
.app { min-height: 100vh; }
.lateral {
  position: fixed; inset: 0 auto 0 0; width: var(--lateral); background: var(--papel);
  border-right: 1px solid var(--linha); display: flex; flex-direction: column; z-index: 40;
}
.lateral .marca { display: block; padding: 22px 20px 14px; text-decoration: none; }
.lateral .marca img { width: 100%; height: auto; display: block; }
.lateral .marca small { display: block; font-family: var(--titulo); font-size: .72rem; color: var(--suave); margin-top: 8px; letter-spacing: .01em; }
.atalhos { display: grid; grid-template-columns: 1fr 1fr; gap: 6px; padding: 4px 16px 14px; border-bottom: 1px solid var(--linha-fraca); }
.atalhos a { display: flex; flex-direction: column; align-items: flex-start; gap: 4px; padding: 9px 10px; border-radius: var(--raio-p);
  background: var(--marca-clara); color: var(--verde-noite); text-decoration: none; font-family: var(--titulo); font-size: .78rem; font-weight: 600; line-height: 1.2; }
.atalhos a:hover { background: #d4ecd0; }
.atalhos a .ic { color: var(--verde-escuro); }
.atalhos a.sol { background: var(--sol-claro); }
.atalhos a.sol:hover { background: #ffe6bd; }
.atalhos a.sol .ic { color: #b86b00; }
.nav { flex: 1; overflow-y: auto; padding: 10px 12px; }
.nav .grupo { font-size: .76rem; color: #8a9787; margin: 14px 10px 4px; font-weight: 600; }
.nav .grupo:first-child { margin-top: 2px; }
.nav a { display: flex; align-items: center; gap: 11px; padding: 8px 10px; border-radius: var(--raio-p); color: #34452f;
  text-decoration: none; font-size: .97rem; position: relative; }
.nav a:hover { background: var(--fundo); color: var(--verde-noite); }
.nav a.ativo { background: var(--verde-escuro); color: #fff; font-weight: 600; }
.nav a.ativo .ic { color: var(--sol); }
.nav a .contador { margin-left: auto; font-size: .75rem; font-weight: 700; background: var(--vermelho); color: #fff; border-radius: 99px; padding: 0 7px; line-height: 1.6; }
.nav a.ativo .contador { background: #fff; color: var(--vermelho); }
.quem { border-top: 1px solid var(--linha-fraca); padding: 12px 16px 16px; font-size: .9rem; }
.quem .nome { font-weight: 600; color: var(--verde-noite); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.quem .perfil { font-size: .8rem; color: var(--suave); }
.quem .acoes-quem { display: flex; gap: 6px; margin-top: 8px; }
.quem .acoes-quem a, .quem .acoes-quem button { flex: 1; display: inline-flex; align-items: center; justify-content: center; gap: 6px; font: inherit; font-size: .84rem;
  padding: 5px 8px; border-radius: var(--raio-p); border: 1px solid var(--linha); background: var(--papel); color: var(--tinta); cursor: pointer; text-decoration: none; }
.quem .acoes-quem a:hover, .quem .acoes-quem button:hover { border-color: #b8c5b2; }
.quem .acoes-quem form { flex: 1; display: flex; margin: 0; }
.quem .acoes-quem .ic { width: 15px; height: 15px; }

.conteudo { margin-left: var(--lateral); min-width: 0; }
main { max-width: 1240px; margin: 0 auto; padding: 28px 28px 72px; }
.topo-movel { display: none; }
.fundo-menu { display: none; }

@media (max-width: 960px) {
  .lateral { transform: translateX(-100%); transition: transform .2s ease; box-shadow: 0 0 40px rgba(0,0,0,.15); }
  body.menu-aberto .lateral { transform: none; }
  body.menu-aberto .fundo-menu { display: block; position: fixed; inset: 0; background: rgba(12, 48, 2, .35); z-index: 30; }
  .conteudo { margin-left: 0; }
  .topo-movel { display: flex; align-items: center; justify-content: space-between; gap: 12px; position: sticky; top: 0; z-index: 20;
    background: var(--papel); border-bottom: 1px solid var(--linha); padding: 8px 16px; }
  .topo-movel img { height: 34px; width: auto; display: block; }
  .topo-movel button { border: 1px solid var(--linha); background: var(--papel); border-radius: var(--raio-p); padding: 7px; display: flex; cursor: pointer; color: var(--verde-noite); }
  main { padding: 20px 16px 64px; }
}
@media (prefers-reduced-motion: reduce) { .lateral { transition: none; } }

/* ---------- Cartões e cabeçalhos ---------- */
.cartao { background: var(--papel); border: 1px solid var(--linha); border-radius: var(--raio); box-shadow: var(--sombra); padding: 20px; margin-bottom: 16px; }
.cabecalho { display: flex; justify-content: space-between; align-items: flex-end; gap: 1rem; flex-wrap: wrap; margin-bottom: 1.2rem; }
.cabecalho .sub { margin: 0; }
.grade { display: grid; gap: 16px; margin-bottom: 16px; }
.grade > .cartao, .grade > div > .cartao:last-child { margin-bottom: 0; }
.grade > * { min-width: 0; }
@media (min-width: 800px) { .grade-2 { grid-template-columns: 1fr 1fr; } .grade-3 { grid-template-columns: repeat(3, 1fr); } .grade-21 { grid-template-columns: 2fr 1fr; } .grade-12 { grid-template-columns: 1fr 2fr; } }

/* ---------- Botões ---------- */
.btn { display: inline-flex; align-items: center; gap: .4rem; border: 1px solid var(--linha); background: var(--papel); color: var(--tinta);
  padding: .5rem .95rem; border-radius: var(--raio-p); font: inherit; font-size: .95rem; font-weight: 600; text-decoration: none; cursor: pointer; white-space: nowrap; line-height: 1.3; }
.btn:hover { border-color: #b4c2ae; }
.btn .ic { width: 16px; height: 16px; }
.btn-primario { background: var(--verde-escuro); border-color: var(--verde-escuro); color: #fff; }
.btn-primario:hover { background: var(--marca-escura); border-color: var(--marca-escura); }
.btn-sol { background: var(--sol); border-color: var(--sol); color: var(--verde-noite); }
.btn-sol:hover { background: #f29400; border-color: #f29400; }
.btn-perigo { color: var(--alerta); border-color: #efc4c4; }
.btn-perigo-cheio { background: var(--vermelho); border-color: var(--vermelho); color: #fff; }
.btn-peq { padding: .28rem .6rem; font-size: .86rem; }
.acoes { display: flex; gap: .5rem; flex-wrap: wrap; align-items: center; }

/* ---------- Mensagens ---------- */
.msg { padding: .75rem 1rem; border-radius: var(--raio-p); margin-bottom: 1rem; border: 1px solid; }
.msg-success { background: var(--marca-clara); border-color: #b7dcb2; color: var(--verde-noite); }
.msg-error { background: var(--alerta-claro); border-color: #f0c2c2; color: var(--alerta); }
.msg-info, .msg-warning { background: var(--aviso-claro); border-color: #f5d9a5; color: var(--aviso); }

/* ---------- Formulários ---------- */
label { display: block; font-size: .88rem; font-weight: 600; color: #46573f; margin-bottom: .3rem; }
input[type=text], input[type=password], input[type=email], input[type=number], input[type=date], input[type=search], select, textarea {
  width: 100%; font: inherit; color: var(--tinta); background: #fff; border: 1px solid #ccd6c7; border-radius: var(--raio-p); padding: .55rem .7rem; }
input:focus, select:focus, textarea:focus { outline: 3px solid rgba(5, 160, 23, .18); border-color: var(--verde); }
textarea { resize: vertical; }
.campo { margin-bottom: 14px; }
.campo .ajuda, .helptext { font-size: .84rem; color: var(--suave); display: block; margin-top: .25rem; }
.errorlist { list-style: none; margin: .3rem 0 0; padding: 0; color: var(--alerta); font-size: .88rem; }
.campo-erro input, .campo-erro select, .campo-erro textarea { border-color: var(--vermelho); }
.linha-campos { display: grid; gap: 0 12px; grid-template-columns: 1fr; }
@media (min-width: 700px) {
  .lc-2 { grid-template-columns: 1fr 1fr; } .lc-3 { grid-template-columns: 1fr 1fr 1fr; } .lc-4 { grid-template-columns: repeat(4, 1fr); }
  .lc-nome { grid-template-columns: 2fr 1fr; } .lc-end { grid-template-columns: 140px 1fr; } .lc-mun { grid-template-columns: 1fr 1fr 90px; }
  .lc-nasc { grid-template-columns: 80px 1fr 100px; }
}
.marcadores { display: grid; grid-template-columns: repeat(auto-fill, minmax(220px, 1fr)); gap: .25rem 1rem; max-height: 260px; overflow-y: auto;
  border: 1px solid var(--linha); border-radius: var(--raio-p); padding: .6rem; }
.marcadores label, .opcoes-radio label { font-weight: 400; color: var(--tinta); font-size: .95rem; display: flex; gap: .5rem; align-items: flex-start; margin: 0; }
.opcoes-radio div { margin-bottom: .4rem; }
.opcoes-radio ul, .marcadores ul { list-style: none; margin: 0; padding: 0; }
input[type=radio], input[type=checkbox] { accent-color: var(--verde-escuro); width: 16px; height: 16px; margin-top: 3px; flex: none; }
.barra-salvar { position: sticky; bottom: 0; background: rgba(241, 244, 238, .94); border-top: 1px solid var(--linha); padding: 12px 0; margin-top: 8px;
  display: flex; gap: .5rem; flex-wrap: wrap; backdrop-filter: blur(4px); z-index: 5; }

/* Escolhas em "cartões" (liderança, nível, prioridade, status) */
.escolhas { display: grid; gap: 8px; grid-template-columns: 1fr; }
@media (min-width: 700px) { .escolhas.e-2 { grid-template-columns: 1fr 1fr; } .escolhas.e-3 { grid-template-columns: repeat(3, 1fr); } .escolhas.e-4 { grid-template-columns: repeat(4, 1fr); } .escolhas.e-5 { grid-template-columns: repeat(5, 1fr); } }
.escolhas label { display: flex; gap: .55rem; align-items: flex-start; margin: 0; padding: .65rem .75rem; border: 1px solid var(--linha); border-radius: var(--raio-p);
  font-weight: 500; color: var(--tinta); font-size: .93rem; cursor: pointer; background: #fff; line-height: 1.3; }
.escolhas label:hover { border-color: #b4c2ae; }
.escolhas label:has(input:checked) { border-color: var(--verde-escuro); background: var(--marca-clara); box-shadow: inset 0 0 0 1px var(--verde-escuro); }
.escolhas label small { display: block; color: var(--suave); font-weight: 400; font-size: .82rem; margin-top: 2px; }

/* Campo de busca com sugestões (liderança, solicitante) */
.combo { position: relative; }
.combo .escolhido { display: flex; align-items: center; justify-content: space-between; gap: .5rem; border: 1px solid var(--verde-escuro); background: var(--marca-clara);
  border-radius: var(--raio-p); padding: .5rem .7rem; }
.combo .escolhido strong { font-weight: 600; }
.combo .escolhido button { border: 0; background: none; color: var(--suave); cursor: pointer; font: inherit; font-size: .88rem; text-decoration: underline; }
.combo ul { position: absolute; z-index: 15; left: 0; right: 0; top: calc(100% + 4px); background: #fff; border: 1px solid var(--linha); border-radius: var(--raio-p);
  box-shadow: 0 10px 30px rgba(12, 48, 2, .12); list-style: none; margin: 0; padding: 4px; max-height: 300px; overflow-y: auto; }
.combo li { padding: .5rem .6rem; border-radius: 5px; cursor: pointer; }
.combo li[aria-selected=true], .combo li:hover { background: var(--marca-clara); }
.combo li small { display: block; color: var(--suave); font-size: .82rem; }
.combo li.nada { color: var(--suave); cursor: default; background: none; }

/* Tags */
.tags-campo { display: flex; flex-wrap: wrap; gap: 6px; align-items: center; border: 1px solid #ccd6c7; border-radius: var(--raio-p); padding: .35rem .45rem; background: #fff; min-height: 42px; }
.tags-campo:focus-within { outline: 3px solid rgba(5, 160, 23, .18); border-color: var(--verde); }
.tags-campo input { border: 0 !important; outline: 0 !important; flex: 1; min-width: 140px; padding: .25rem !important; }
.tag { display: inline-flex; align-items: center; gap: 4px; background: var(--sol-claro); color: #7a4a00; border: 1px solid #f7d79f; border-radius: 99px; padding: .05rem .6rem; font-size: .84rem; font-weight: 600; text-decoration: none; white-space: nowrap; }
a.tag:hover { background: #ffe6bd; }
.tag button { border: 0; background: none; color: inherit; cursor: pointer; padding: 0 0 0 2px; font-size: 1rem; line-height: 1; }

/* Formsets (telefones etc.) */
.subform { border: 1px solid var(--linha); border-radius: var(--raio-p); padding: 10px 10px 0; margin-bottom: 8px; display: grid; gap: 0 10px; grid-template-columns: 1fr; position: relative; }
@media (min-width: 700px) {
  .sf-tel { grid-template-columns: 170px 70px 1fr 1.3fr auto; align-items: end; }
  .sf-net { grid-template-columns: 170px 1fr auto; align-items: end; }
}
.subform .remover { margin-bottom: 14px; font-size: .88rem; color: var(--alerta); display: flex; gap: .3rem; align-items: center; font-weight: 400; }
.subform.removido { opacity: .45; }

/* ---------- Busca e filtros ---------- */
.busca { display: flex; gap: .5rem; }
.busca input { font-size: 1.05rem; padding: .7rem .85rem; }
.filtros { display: grid; gap: 10px; grid-template-columns: 1fr 1fr; margin-top: 12px; }
@media (min-width: 900px) { .filtros { grid-template-columns: repeat(5, 1fr); } }
.filtros label { font-size: .8rem; }
.resumo-busca { display: flex; justify-content: space-between; align-items: center; gap: 1rem; flex-wrap: wrap; margin: 4px 0 12px; color: var(--suave); font-size: .95rem; }

/* ---------- Tabelas ---------- */
.tabela-wrap { overflow-x: auto; }
table { width: 100%; border-collapse: collapse; font-size: .96rem; }
th { text-align: left; font-size: .82rem; color: var(--suave); font-weight: 600; padding: .6rem .7rem; border-bottom: 1px solid var(--linha); white-space: nowrap; background: #fafbf8; }
td { padding: .62rem .7rem; border-bottom: 1px solid var(--linha-fraca); vertical-align: top; }
tr.clicavel { cursor: pointer; }
tr.clicavel:hover td { background: #f6faf4; }
td .nome { font-weight: 600; color: var(--verde-noite); text-decoration: none; }
td .apelido, .discreto { color: var(--suave); font-size: .9rem; }
.num { font-variant-numeric: tabular-nums; }
td.num { white-space: nowrap; }

/* Selos */
.pilula { display: inline-flex; align-items: center; gap: 4px; background: var(--marca-clara); color: var(--verde-noite); border-radius: 99px; padding: .05rem .6rem; font-size: .8rem; font-weight: 600; margin: 0 .2rem .2rem 0; white-space: nowrap; }
.pilula-cinza { background: #edf0ea; color: var(--suave); }
.pilula-alerta { background: var(--alerta-claro); color: var(--alerta); }
.pilula-sol { background: var(--sol-claro); color: #7a4a00; }
.pilula .ic { width: 13px; height: 13px; }
.lider { background: var(--verde-escuro); color: #fff; }
.lider .ic { color: var(--sol); }
.nivel { display: inline-flex; align-items: center; gap: 5px; font-size: .84rem; white-space: nowrap; color: var(--tinta); }
.nivel i { display: inline-flex; gap: 2px; }
.nivel i b { width: 6px; height: 12px; border-radius: 2px; background: #d9e1d5; }
.nivel.n1 i b:nth-child(-n+1), .nivel.n2 i b:nth-child(-n+2), .nivel.n3 i b:nth-child(-n+3) { background: var(--verde); }
.nivel.n0 { color: var(--suave); }
.prio { display: inline-flex; align-items: center; gap: 6px; font-weight: 600; font-size: .88rem; white-space: nowrap; }
.prio::before { content: ""; width: 8px; height: 8px; border-radius: 50%; background: currentColor; }
.prio-alta { color: var(--vermelho); }
.prio-media { color: #c27700; }
.prio-baixa { color: var(--verde-escuro); }
.st { display: inline-block; font-size: .8rem; font-weight: 600; border-radius: 99px; padding: .08rem .6rem; white-space: nowrap; }
.st-aguardando { background: #eef0eb; color: #4a5846; }
.st-andamento { background: var(--sol-claro); color: #7a4a00; }
.st-atendida { background: var(--marca-clara); color: var(--verde-escuro); }
.st-nao_atendida { background: var(--alerta-claro); color: var(--alerta); }
.prazo-atrasado { color: var(--vermelho); font-weight: 600; }

/* Paginação */
.paginacao { display: flex; gap: .4rem; align-items: center; justify-content: center; margin-top: 16px; flex-wrap: wrap; }
.paginacao span { color: var(--suave); font-size: .92rem; padding: 0 .5rem; }

/* Ficha */
.ficha dl { display: grid; grid-template-columns: 1fr; gap: .1rem 1rem; margin: 0; }
@media (min-width: 600px) { .ficha dl { grid-template-columns: 170px 1fr; } }
.ficha dt { color: var(--suave); font-size: .9rem; padding-top: .45rem; }
.ficha dd { margin: 0; padding: .4rem 0; border-bottom: 1px solid var(--linha-fraca); min-height: 1.5em; }
.vazio { color: #98a594; }
.obs { white-space: pre-wrap; background: #fafbf8; border: 1px solid var(--linha); border-radius: var(--raio-p); padding: .75rem; margin: 0; font: inherit; }
.telefones { list-style: none; padding: 0; margin: 0; }
.telefones li { margin-bottom: .4rem; }

/* Painel */
.numero-grande { font-family: var(--titulo); font-size: 2rem; font-weight: 700; letter-spacing: -.02em; line-height: 1.1; color: var(--verde-noite); }
.barras ul { list-style: none; padding: 0; margin: 0; }
.barras li { display: grid; grid-template-columns: 1fr 60px; gap: .5rem; margin-bottom: .45rem; font-size: .95rem; }
.barra { height: 6px; background: var(--marca-clara); border-radius: 3px; grid-column: 1 / -1; margin-top: -.2rem; }
.barra i { display: block; height: 100%; background: var(--verde); border-radius: 3px; }

/* Contagem para a eleição (destaque da página inicial) */
.eleicao { position: relative; overflow: hidden; background: var(--verde-escuro); color: #fff; border-radius: 14px; padding: 26px 28px; margin-bottom: 16px;
  display: grid; gap: 8px 28px; grid-template-columns: 1fr; align-items: center; isolation: isolate; }
@media (min-width: 760px) { .eleicao { grid-template-columns: auto 1fr; padding: 30px 36px; } }
.eleicao .arcos { position: absolute; right: -90px; top: 50%; transform: translateY(-50%); width: 420px; height: 420px; z-index: -1; opacity: .9; }
@media (max-width: 759px) { .eleicao .arcos { right: -230px; opacity: .35; } }
.eleicao .dias { font-family: var(--titulo); font-weight: 700; font-size: clamp(3.4rem, 9vw, 5.6rem); line-height: .95; letter-spacing: -.04em; display: flex; align-items: baseline; gap: .6rem; }
.eleicao .dias small { font-size: 1.05rem; font-weight: 600; letter-spacing: 0; color: var(--sol); }
.eleicao h2 { color: #fff; font-size: 1.25rem; margin: 0 0 .2rem; }
.eleicao p { margin: 0; color: #d6ecd2; max-width: 46ch; }
.eleicao .data-el { display: inline-flex; align-items: center; gap: 8px; margin-top: 10px; background: rgba(255,255,255,.12); border-radius: 99px; padding: .3rem .8rem; font-weight: 600; font-size: .92rem; }
.eleicao .data-el .ic { color: var(--sol); }

.indicadores { display: grid; gap: 12px; grid-template-columns: repeat(2, 1fr); margin-bottom: 16px; }
@media (min-width: 1000px) { .indicadores { grid-template-columns: repeat(4, 1fr); } }
.indicador { background: var(--papel); border: 1px solid var(--linha); border-radius: var(--raio); padding: 14px 16px; text-decoration: none; color: inherit; display: block; box-shadow: var(--sombra); }
a.indicador:hover { border-color: #b4c2ae; }
.indicador .rot { font-size: .88rem; color: var(--suave); display: flex; align-items: center; gap: 6px; }
.indicador .rot .ic { width: 16px; height: 16px; color: var(--verde); }
.indicador .val { font-family: var(--titulo); font-size: 1.75rem; font-weight: 700; color: var(--verde-noite); letter-spacing: -.02em; line-height: 1.25; font-variant-numeric: tabular-nums; }
.indicador .det { font-size: .84rem; color: var(--suave); }
.indicador.alerta .val { color: var(--vermelho); }

/* Login */
.tela-login { min-height: 100vh; display: grid; place-items: center; padding: 16px; background:
  radial-gradient(circle at 0% 50%, transparent 0 180px, rgba(13,109,20,.07) 181px 196px, transparent 197px 226px, rgba(13,109,20,.07) 227px 242px, transparent 243px), var(--fundo); }
.caixa-login { width: 100%; max-width: 400px; }
.caixa-login .logo-login { margin: 0 auto 18px; display: block; width: 300px; max-width: 90%; }

.semelhantes { border: 1px solid #f5d9a5; background: var(--aviso-claro); border-radius: var(--raio-p); padding: .6rem .8rem; margin: -6px 0 14px; font-size: .93rem; }
.semelhantes ul { margin: .3rem 0 0; padding-left: 1.1rem; }

@media print {
  .lateral, .topo-movel, .acoes, .barra-salvar, .busca, .filtros, .paginacao { display: none !important; }
  .conteudo { margin: 0; } body { background: #fff; } .cartao { box-shadow: none; }
}
