/* Portal do colaborador: o que a moldura do candidato (estilo.css › .portal) não tem — a lista de documentos, o
   demonstrativo e a impressão. Celular primeiro: 375 px sem rolagem horizontal da página. */
/* a lista tem seis colunas: a moldura de 760 px do candidato as espremia no desktop */
.portal-colaborador .portal-conteudo, .portal-colaborador .portal-rodape { max-width: 1100px; }
.pc-estreito { max-width: 460px; margin: 0 auto; }
.pc-links { margin-top: 12px; }
.pc-logo { height: 44px; width: auto; max-width: 160px; object-fit: contain; background: #fff; border-radius: 6px; padding: 3px; }
.pc-marca { flex: 1 1 auto; min-width: 0; }
.pc-logo-doc { height: 40px; width: auto; max-width: 180px; object-fit: contain; margin-bottom: 4px; }
.pc-nav { display: flex; gap: 6px; flex-wrap: wrap; justify-content: flex-end; }
.pc-filtros { display: flex; flex-wrap: wrap; gap: 8px; align-items: flex-end; margin-bottom: 14px; }
.pc-filtros label { display: flex; flex-direction: column; font-size: 12px; min-width: 130px; }
.pc-filtros select { min-height: 40px; }
.pc-lista .quem { display: block; }
.pc-novo td:first-child { box-shadow: inset 3px 0 0 var(--marca); }
.pc-revogado { opacity: .7; }
.selo-novo { background: var(--marca); color: #fff; }
.pc-legenda { margin-top: 18px; }
.pc-situacoes { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; margin: 4px 0 12px; }
.pc-acoes { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 16px; }
.pc-doc { background: var(--cartao); border: 1px solid var(--linha); border-radius: var(--raio-p); padding: 16px; }
.pc-doc-cabeca { display: flex; justify-content: space-between; gap: 12px; flex-wrap: wrap;
  border-bottom: 1px solid var(--linha); padding-bottom: 10px; margin-bottom: 10px; }
.pc-doc-titulo { text-align: right; }
.pc-sub { font-size: 15px; margin: 16px 0 6px; }
.pc-pares { display: grid; grid-template-columns: repeat(auto-fill, minmax(180px, 1fr)); gap: 6px 16px; margin: 0 0 10px; }
.pc-pares div { display: flex; flex-direction: column; }
.pc-pares dt { font-size: 11px; color: var(--tinta-suave); text-transform: uppercase; letter-spacing: .05em; }
.pc-pares dd { margin: 0; font-weight: 500; }
.pc-rubricas td, .pc-rubricas th { font-size: 13px; }
.pc-rodape-doc { margin-top: 12px; font-size: 11px; }
.pc-historico { padding-left: 18px; }

.pc-lista td { overflow-wrap: anywhere; white-space: normal; }
.portal .pc-lista { min-width: 0; width: 100%; }
.pc-lista td.num { white-space: nowrap; }

@media (max-width: 640px) {
  /* a navegação desce para uma linha própria, em botões curtos lado a lado: empilhada, comia metade da tela */
  .portal-colaborador .portal-topo { flex-wrap: wrap; }
  .pc-nav { width: 100%; justify-content: flex-start; flex-wrap: nowrap; }
  .pc-nav .botao { min-height: 40px; padding: 8px 12px; flex: 1 1 0; text-align: center; }
  .pc-nav form { flex: 1 1 0; display: flex; }
  .pc-nav form .botao { width: 100%; }
  .pc-doc-titulo { text-align: left; }
  .pc-filtros label { flex: 1 1 45%; min-width: 0; }
  /* o demonstrativo continua tabela no celular: rubrica, referência e valor precisam ficar na mesma linha;
     quem rola é a caixa da tabela, não a página */
  .portal .pc-rubricas, .portal .pc-rubricas tbody, .portal .pc-rubricas tr, .portal .pc-rubricas td { display: revert; width: auto; }
  .portal .pc-rubricas thead { display: table-header-group; }
  .portal .pc-rubricas tr { border: 0; padding: 0; margin: 0; background: none; }
  /* a regra do candidato esconde célula vazia; aqui ela desalinharia as colunas dos totais */
  .portal .pc-rubricas td:empty { display: table-cell; }
  .portal .pc-rubricas td.pc-cod, .portal .pc-rubricas th.pc-cod { display: none; }
  .pc-rubricas td, .pc-rubricas th { font-size: 12px; padding: 6px 5px; }
  /* o SIG dá 620 px mínimos a toda tabela rolável; o demonstrativo tem de caber nos 375 do celular */
  .tabela-rolagem > .tabela.pc-rubricas { min-width: 0; width: 100%; }
}

@media print {
  .pc-nao-imprime, .portal-topo, .portal-rodape, .pc-acoes, .pc-nav { display: none !important; }
  body.pc-impressao { background: #fff; }
  .pc-doc { border: 0; padding: 0; }
}
