:root {
  --grafite-profundo: #11171b; --grafite-azulado: #26343c; --azul-camuflado: #40525c;
  --cinza-frio: #78858a; --fundo: #e9edee; --superficie: #f8fafa; --texto: #182025;
  --texto-suave: #5c696e; --borda: #cbd2d4; --sucesso: #276343; --erro: #9c2f2f;
  font-family: "Segoe UI", Arial, sans-serif; color: var(--texto); background: var(--fundo);
}
* { box-sizing: border-box; }
body { margin: 0; }
html[data-sessao-pendente] body { visibility: hidden; }
.pagina-acesso { display: grid; min-height: 100vh; padding: 24px; place-items: center; background: radial-gradient(circle at top, #52666f, var(--grafite-profundo) 58%); }
.cartao-acesso { display: grid; width: min(100%, 440px); gap: 25px; padding: 34px; color: var(--texto); background: var(--superficie); border: 1px solid #ffffff42; border-top: 5px solid var(--azul-camuflado); border-radius: 10px; box-shadow: 0 20px 55px #0006; }
.cartao-acesso #acesso-local { display: grid; gap: 25px; }
.cartao-acesso [hidden] { display: none !important; }
.cartao-reserva { max-width: 680px; }
.cartao-reserva [hidden] { display: none !important; }
.barra-lateral .item-menu[hidden] { display: none !important; }
.cartao-reserva form { margin-block: 24px; }
.cartao-reserva label { grid-template-columns: 1fr; }
.cartao-reserva .opcao-reserva { display: flex; gap: 8px; align-items: center; }
.opcao-reserva input { width: 18px; height: 18px; }
.marca-acesso { display: flex; flex-direction: column; align-items: center; gap: 4px; padding-bottom: 20px; border-bottom: 1px solid var(--borda); }.marca-acesso img { display: block; width: min(100%, 230px); height: auto; object-fit: contain; }.marca-acesso p { margin: 0; color: var(--grafite-azulado); font-size: .8rem; font-weight: 750; line-height: 1.4; }
.cartao-acesso form { gap: 16px; }.cartao-acesso label { grid-template-columns: 1fr; }.mensagem-acesso { margin: 0; padding: 10px 12px; color: #842a2a; background: #f9e7e7; border: 1px solid #dfaaaa; border-radius: 4px; font-size: .85rem; }.aviso-acesso { margin: -8px 0 0; color: var(--texto-suave); font-size: .78rem; line-height: 1.5; }
.campo-senha { position: relative; display: block; grid-column: 1 / -1; }.campo-senha input { padding-right: 46px; }.botao-alternar-senha { position: absolute; top: 50%; right: 5px; display: grid; width: 36px; height: 36px; padding: 0; place-items: center; color: var(--grafite-azulado); background: transparent; border: 0; transform: translateY(-50%); }.botao-alternar-senha:hover { color: var(--grafite-profundo); background: #e4eaec; }.botao-alternar-senha:focus-visible { outline: 3px solid #40525c66; }.botao-alternar-senha svg { width: 20px; height: 20px; fill: none; stroke: currentColor; stroke-linecap: round; stroke-linejoin: round; stroke-width: 1.8; }.botao-alternar-senha[aria-pressed="true"]::after { position: absolute; width: 22px; height: 2px; background: currentColor; content: ''; transform: rotate(-45deg); }
.cartao-acesso .opcao-manter-conectado { display: flex; align-items: center; gap: 9px; color: var(--texto-suave); font-size: .82rem; font-weight: 600; }.cartao-acesso .opcao-manter-conectado input { width: 16px; height: 16px; margin: 0; accent-color: var(--grafite-azulado); }
.aplicacao { min-height: 100vh; display: grid; grid-template-columns: 260px minmax(0, 1fr); }
.barra-lateral { position: sticky; top: 0; display: flex; flex-direction: column; height: 100dvh; padding: 28px 18px; overflow-y: auto; color: #edf1f2; background: linear-gradient(160deg, var(--grafite-profundo), var(--grafite-azulado)); }
.marca { display: flex; flex-direction: column; align-items: center; gap: 4px; padding: 0 10px 24px; border-bottom: 1px solid #ffffff26; }
.marca-logo { display: block; width: min(100%, 180px); height: auto; flex: 0 0 auto; object-fit: contain; filter: drop-shadow(0 2px 3px #0008); }
.marca-subtitulo { display: block; color: #e7eef1; font-size: .88rem; font-weight: 650; }
.rodape-menu { color: #c2cbd0; font-size: .78rem; }
nav { display: grid; gap: 6px; margin-top: 26px; }
.item-menu { display: flex; justify-content: space-between; padding: 11px 12px; color: inherit; border-radius: 5px; text-decoration: none; font-size: .94rem; }
.item-menu span { color: #b7c1c5; font-size: .72rem; }
.item-menu.ativo { background: var(--azul-camuflado); box-shadow: inset 3px 0 #dce4e6; }
.item-menu.indisponivel { opacity: .62; cursor: not-allowed; }
.rodape-menu { margin: auto 10px 0; line-height: 1.6; }
.botao-sair { margin: 16px 10px 0; padding: 8px 10px; color: #d7e0e3; background: transparent; border-color: #ffffff44; font-size: .78rem; }.botao-sair:hover { background: #ffffff18; }
.formulario-conta { grid-template-columns: minmax(260px, 1fr) 1fr; }.formulario-conta .acoes-formulario { grid-column: 1 / -1; }.papeis-conta { display: flex; flex-wrap: wrap; align-content: start; gap: 8px 14px; }.papeis-conta legend { width: 100%; }.papeis-conta label { display: flex; align-items: center; gap: 5px; font-weight: 600; }.papeis-conta input { width: 16px; height: 16px; margin: 0; accent-color: var(--grafite-azulado); }.lista-contas { display: grid; grid-template-columns: repeat(auto-fit, minmax(310px, 1fr)); gap: 14px; }.cartao-conta { display: grid; gap: 15px; padding: 18px; background: #eef3f4; border: 1px solid var(--borda); border-top: 4px solid var(--azul-camuflado); border-radius: 7px; }.cartao-conta.conta-bloqueada { opacity: .7; border-top-color: var(--cinza-frio); }.topo-conta { display: flex; justify-content: space-between; gap: 10px; align-items: start; }.topo-conta h3 { margin: 0; color: var(--grafite-profundo); font-size: 1rem; }.detalhe-conta, .aviso-conta { margin: 4px 0 0; color: var(--texto-suave); font-size: .76rem; }.status-conta { padding: 5px 8px; border-radius: 999px; font-size: .7rem; font-weight: 800; }.status-conta.ativo { color: #24583a; background: #dff0e4; }.status-conta.bloqueado { color: #626c70; background: #dce2e4; }.acoes-conta { display: flex; flex-wrap: wrap; gap: 8px; }.acoes-conta button { padding: 8px 10px; font-size: .76rem; }
.conteudo-principal { width: min(1280px, 100%); margin: 0 auto; padding: 42px; }
.cabecalho-pagina { display: flex; justify-content: space-between; gap: 24px; align-items: flex-start; margin-bottom: 28px; }
.sobretitulo { margin: 0 0 8px; color: var(--azul-camuflado); font-size: .75rem; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; }
h1, h2 { margin: 0; color: var(--grafite-profundo); }
h1 { font-size: clamp(1.75rem, 4vw, 2.25rem); }
h2 { font-size: 1.1rem; }
.descricao, .cabecalho-cartao p, .acoes-formulario p { margin: 8px 0 0; color: var(--texto-suave); }
.etiqueta-status, .etiqueta-neutra { display: inline-block; padding: 7px 10px; border-radius: 999px; font-size: .78rem; font-weight: 700; white-space: nowrap; }
.etiqueta-status { color: #eaf1f2; background: var(--grafite-azulado); }
.etiqueta-neutra { color: var(--azul-camuflado); background: #dbe3e5; }
.cartao { margin-top: 20px; padding: 26px; background: var(--superficie); border: 1px solid var(--borda); border-radius: 8px; box-shadow: 0 2px 8px #11171b0d; }
.cabecalho-cartao { display: flex; justify-content: space-between; align-items: flex-start; gap: 16px; margin-bottom: 22px; }
form { display: grid; gap: 18px; }
fieldset { margin: 0; padding: 0; border: 0; }
.secao { padding: 18px; border: 1px solid var(--borda); border-left: 4px solid var(--azul-camuflado); border-radius: 6px; }
.secao-identificacao { background: #eef3f4; border-left-color: #40525c; }
.secao-pessoal { background: #e9eff1; border-left-color: #5f737c; }
.secao-contato { background: #f0f3f3; border-left-color: #78858a; }
.secao-documentos { background: #e7edef; border-left-color: #26343c; }
.secao-funcoes { background: #edf2f3; border-left-color: #526974; }
.secao-funcoes p { margin: 0 0 12px; color: var(--texto-suave); font-size: .82rem; }
.lista-funcoes-militar { display: flex; flex-wrap: wrap; gap: 8px 18px; }
.lista-funcoes-militar label { display: inline-flex; align-items: center; gap: 8px; min-height: 44px; cursor: pointer; }
.lista-funcoes-militar input[type="checkbox"] { width: 18px; height: 18px; margin: 0; padding: 0; }
legend { margin-bottom: 14px; color: var(--grafite-azulado); font-size: .88rem; font-weight: 700; }
.grade-campos { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; }
.filtros-militar-periodo-ferias { display: grid; grid-column: 1 / -1; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; }.filtros-militar-periodo-ferias label { grid-template-columns: 1fr; min-width: 0; }.ajuda-filtro-militar-ferias { color: var(--texto-suave); font-size: .72rem; font-weight: 500; }
.campo-militar-pesquisavel-ferias { display: grid; gap: 5px; min-width: 0; align-content: start; }.entrada-militar-pesquisavel-ferias { position: relative; }.entrada-militar-pesquisavel-ferias > input[type="text"] { width: 100%; padding-right: 36px; background-image: linear-gradient(45deg, transparent 50%, #465963 50%), linear-gradient(135deg, #465963 50%, transparent 50%); background-position: calc(100% - 20px) 50%, calc(100% - 15px) 50%; background-size: 5px 5px, 5px 5px; background-repeat: no-repeat; }.sugestoes-militar-ferias { position: absolute; z-index: 20; top: 100%; left: 0; right: 0; max-height: 240px; overflow-y: auto; background: #fff; border: 1px solid var(--borda); border-radius: 6px; box-shadow: 0 9px 22px #172e3a33; }.sugestoes-militar-ferias[hidden] { display: none; }.sugestoes-militar-ferias button { display: block; width: 100%; min-height: 38px; padding: 9px 12px; border: 0; border-radius: 0; background: #fff; color: var(--grafite-profundo); text-align: left; font: inherit; cursor: pointer; }.sugestoes-militar-ferias button:hover, .sugestoes-militar-ferias button[aria-selected="true"] { background: #e8f2ed; }.sugestoes-militar-ferias p { margin: 0; padding: 10px 12px; color: var(--texto-suave); font-size: .8rem; }
.etapas-adicionais-ferias { display: grid; gap: 10px; }.etapa-adicional-ferias { display: grid; grid-template-columns: minmax(0, 1fr) minmax(110px, .6fr) auto; align-items: end; gap: 12px; padding: 14px; background: #eef3f4; border: 1px solid var(--borda); border-radius: 6px; }.etapa-adicional-ferias label { min-width: 0; }.botao-adicionar-etapa-ferias { justify-self: start; }.etapa-adicional-ferias .botao-remover-etapa { min-height: 42px; }
.previsao-ferias:has(.resumo-etapa-ferias) { display: grid; width: 100%; gap: 8px; padding: 0; background: transparent; }.resumo-etapa-ferias { display: grid; gap: 4px; padding: 10px 14px; background: #edf2f3; border: 1px solid var(--borda); border-radius: 6px; }.resumo-etapa-ferias strong { color: var(--grafite-profundo); font-size: .78rem; }.resumo-etapa-ferias span { font-size: .78rem; }
.resumo-saldo-militar-ferias { display: grid; gap: 4px; margin: 12px 0; padding: 10px 14px; background: #edf2f3; border: 1px solid var(--borda); border-radius: 6px; font-size: .82rem; }.resumo-saldo-militar-ferias[hidden] { display: none; }.resumo-saldo-militar-ferias strong { color: var(--grafite-profundo); }.referencias-saldo-militar-ferias { display: flex; flex-wrap: wrap; gap: 6px 16px; }.resumo-saldo-militar-ferias .saldo-zero, .resumo-etapa-ferias.saldo-insuficiente span:last-child { color: #a11f1b; font-weight: 700; }.resumo-etapa-ferias.saldo-insuficiente { background: #fff3f2; border-color: #e5aaa6; }.botao-apenas-previsao-ferias { color: #705610; border-color: #b5943c; background: #fff8e5; }.botao-apenas-previsao-ferias[hidden] { display: none; }.situacao-apenas-previsao { color: #705610; background: #fff0b8; }
.total-etapas-ferias { margin: 0; color: var(--grafite-profundo); font-size: .85rem; font-weight: 800; }
@media (max-width: 760px) { .filtros-militar-periodo-ferias { grid-template-columns: 1fr; }.etapa-adicional-ferias { grid-template-columns: 1fr; }.botao-adicionar-etapa-ferias, .etapa-adicional-ferias .botao-remover-etapa { width: 100%; } }
.campo-largura-total { grid-column: 1 / -1; }
.lista-impedimentos { display: grid; gap: 10px; }
.campo-busca-militar-impedimento { position: relative; display: grid; gap: 5px; }
.campo-busca-militar-impedimento > label { display: block; }
.campo-fim-impedimento { display: grid; gap: 5px; }
.campo-fim-impedimento > label:first-child { display: block; }
.opcao-sem-fim-impedimento { display: flex; align-items: center; gap: 8px; font-size: .78rem; font-weight: 600; }
.opcao-sem-fim-impedimento input { width: 18px; height: 18px; margin: 0; padding: 0; accent-color: var(--grafite-azulado); }
.campo-fim-impedimento input[type="date"]:disabled { color: var(--texto-suave); background: #e8edef; }
#obrigatorio-fim-impedimento[hidden] { display: none; }
.sugestoes-militar-impedimento { position: absolute; top: 100%; left: 0; right: 0; z-index: 10; max-height: 230px; overflow-y: auto; background: #fff; border: 1px solid var(--cinza-frio); border-radius: 0 0 6px 6px; box-shadow: 0 12px 22px #11171b30; }
.sugestoes-militar-impedimento[hidden] { display: none; }
.sugestao-militar-impedimento { display: grid; gap: 2px; padding: 9px 11px; color: var(--texto); cursor: pointer; }
.sugestao-militar-impedimento + .sugestao-militar-impedimento { border-top: 1px solid var(--borda); }
.sugestao-militar-impedimento:hover, .sugestao-militar-impedimento.ativa { background: #dce7e9; }
.sugestao-militar-impedimento span { color: var(--texto-suave); font-size: .72rem; }
.sugestao-vazia-impedimento { margin: 0; padding: 11px; color: var(--texto-suave); font-size: .8rem; }
.item-impedimento { display: flex; justify-content: space-between; align-items: center; gap: 16px; padding: 14px; background: #eef3f4; border: 1px solid var(--borda); border-radius: 6px; }
.item-impedimento strong, .item-impedimento span { display: block; }
.item-impedimento span { margin-top: 4px; color: var(--texto-suave); font-size: .82rem; }
.item-impedimento button { flex: 0 0 auto; }
.acoes-item-impedimento { display: flex; gap: 8px; }
#desistir-edicao-impedimento[hidden] { display: none; }
@media (max-width: 760px) { .item-impedimento { align-items: stretch; flex-direction: column; }.acoes-item-impedimento { width: 100%; }.acoes-item-impedimento button { flex: 1 1 0; } }
.consulta-disponibilidade { border-top: 4px solid var(--azul-camuflado); }
.filtros-consulta-disponibilidade { display: grid; grid-template-columns: repeat(2, minmax(0, 260px)); gap: 16px; }
.local-fixo-disponibilidade { align-self: end; display: grid; gap: 4px; padding: 10px 12px; background: #eaf0f1; border: 1px solid var(--borda); border-radius: 6px; }
.local-fixo-disponibilidade span { font-size: .75rem; color: var(--texto-suave); }
.local-fixo-disponibilidade strong { color: var(--grafite-profundo); }
.estado-consulta-disponibilidade { margin: 14px 0 0; color: var(--texto-suave); font-size: .82rem; }
.indicadores-consulta-disponibilidade { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 10px; margin-top: 18px; }
.indicadores-consulta-disponibilidade > div { min-height: 76px; padding: 12px 14px; background: #eaf0f1; border: 1px solid var(--borda); border-radius: 7px; }
.indicadores-consulta-disponibilidade span, .indicadores-consulta-disponibilidade strong { display: block; }
.indicadores-consulta-disponibilidade span { color: var(--texto-suave); font-size: .73rem; }
.indicadores-consulta-disponibilidade strong { margin-top: 6px; color: var(--grafite-profundo); font-size: 1.35rem; }
.nota-escala-disponibilidade { margin: 14px 0 20px; padding: 10px 12px; color: var(--texto-suave); background: #fff9e9; border-left: 3px solid #bba151; font-size: .78rem; line-height: 1.45; }
.grade-consulta-disponibilidade { display: grid; grid-template-columns: minmax(0, 2fr) minmax(260px, 1fr); gap: 18px; align-items: start; }
.coluna-escala-disponibilidade { display: grid; gap: 18px; min-width: 0; }
.painel-turno-disponibilidade, .painel-indisponiveis-disponibilidade, .painel-policiamento-disponibilidade, .painel-livres-disponibilidade { min-width: 0; padding: 16px; background: #fff; border: 1px solid var(--borda); border-radius: 8px; }
.painel-indisponiveis-disponibilidade { background: #f8f1ee; border-color: #dbc9c1; }
.cabecalho-painel-disponibilidade { display: flex; align-items: center; justify-content: space-between; gap: 10px; }
.cabecalho-painel-disponibilidade h3 { margin: 0; color: var(--grafite-profundo); font-size: .95rem; }
.cabecalho-painel-disponibilidade > span { padding: 5px 9px; color: var(--grafite-azulado); background: #e3eaec; border-radius: 999px; font-size: .72rem; font-weight: 800; white-space: nowrap; }
.painel-indisponiveis-disponibilidade .cabecalho-painel-disponibilidade > span { color: #7b423b; background: #f2dfd8; }
.painel-turno-disponibilidade > p, .painel-indisponiveis-disponibilidade > p, .painel-livres-disponibilidade > p { margin: 8px 0 14px; color: var(--texto-suave); font-size: .78rem; line-height: 1.4; }
.lista-pessoas-disponibilidade { display: grid; gap: 8px; max-height: 275px; overflow-y: auto; color: var(--texto-suave); font-size: .82rem; }
.painel-indisponiveis-disponibilidade .lista-pessoas-disponibilidade { max-height: 650px; }
.pessoa-disponibilidade { padding: 10px 12px; background: #f4f7f7; border: 1px solid #d9e2e4; border-radius: 6px; }
.painel-indisponiveis-disponibilidade .pessoa-disponibilidade { background: #fffaf8; border-color: #ead7cf; }
.pessoa-disponibilidade strong, .pessoa-disponibilidade > span { display: block; }
.pessoa-disponibilidade strong { color: var(--texto); font-size: .82rem; }
.pessoa-disponibilidade > span { margin-top: 3px; color: var(--texto-suave); font-size: .72rem; }
.motivos-pessoa-disponibilidade { display: flex; flex-wrap: wrap; gap: 5px; margin-top: 8px; }
.motivos-pessoa-disponibilidade span { padding: 3px 7px; color: #69413a; background: #f1e0da; border-radius: 999px; font-size: .67rem; font-weight: 700; }
.turnos-escala-disponibilidade { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; align-items: start; }
.painel-turno-disponibilidade { padding: 14px; border-top: 4px solid #c3aa57; }
.lista-postos-disponibilidade { display: grid; gap: 8px; margin-top: 12px; }
.posto-interno-disponibilidade { padding: 10px; background: #f6f8f8; border: 1px solid #dce3e4; border-radius: 6px; }
.cabecalho-posto-disponibilidade { display: flex; justify-content: space-between; gap: 8px; align-items: flex-start; }
.cabecalho-posto-disponibilidade strong { font-size: .78rem; }
.cabecalho-posto-disponibilidade span { color: var(--texto-suave); font-size: .66rem; text-align: right; }
.vagas-posto-disponibilidade { display: grid; gap: 5px; margin-top: 8px; }
.vagas-posto-disponibilidade span { padding: 7px 9px; color: #617076; background: #fff; border: 1px dashed #bac9cd; border-radius: 4px; font-size: .72rem; }
.vagas-posto-disponibilidade .vaga-preenchida-disponibilidade { color: var(--texto); border-style: solid; background: #eef5f1; }
.painel-policiamento-disponibilidade { border-top: 4px solid #559374; }
.apoio-policiamento-disponibilidade { margin-top: 11px; padding: 12px; background: #f1f7f3; border-radius: 6px; }
.apoio-policiamento-disponibilidade > strong { display: block; color: var(--grafite-profundo); font-size: .85rem; }
.apoio-policiamento-disponibilidade p { margin: 6px 0 0; font-size: .78rem; color: var(--texto-suave); }
.candidatos-motoristas-disponibilidade { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 8px; color: var(--texto-suave); font-size: .76rem; }
.candidatos-motoristas-disponibilidade span { padding: 5px 7px; background: #fff; border: 1px solid #c9ded0; border-radius: 4px; color: var(--texto); }
.lista-trios-disponibilidade { display: grid; grid-template-columns: repeat(auto-fit, minmax(165px, 1fr)); gap: 8px; margin-top: 10px; font-size: .78rem; }
.trio-montado-disponibilidade { display: grid; gap: 4px; padding: 10px; background: #fff; border: 1px solid #c9ded0; border-radius: 6px; }
.trio-montado-disponibilidade strong { color: var(--grafite-profundo); }
.trio-montado-disponibilidade span { color: var(--texto); }
.painel-livres-disponibilidade .lista-pessoas-disponibilidade { grid-template-columns: repeat(auto-fit, minmax(190px, 1fr)); max-height: 330px; }
.reforcos-disponibilidade { margin: 0 0 14px; padding: 12px; background: #fff; border: 1px solid #ead7cf; border-radius: 6px; }
.reforcos-disponibilidade > strong { color: var(--grafite-profundo); }
.reforcos-disponibilidade p { margin: 5px 0 10px; color: var(--texto-suave); font-size: .76rem; }
.botoes-reforco-disponibilidade { display: flex; flex-wrap: wrap; gap: 6px; }
.botoes-reforco-disponibilidade button { min-height: 44px; padding: 6px 9px; font-size: .76rem; }
.botoes-reforco-disponibilidade button[aria-pressed="true"] { background: #dce8e2; }
.lista-reforcos-disponibilidade { display: grid; gap: 7px; margin-top: 9px; }
.opcao-reforco-disponibilidade { display: flex; align-items: center; gap: 7px; padding: 7px; background: #f7f9f8; border-radius: 4px; font-size: .75rem; }
.opcao-reforco-disponibilidade input { width: 18px; height: 18px; flex: none; }
.gestao-impedimentos-disponibilidade { margin-top: 22px; }
.gestao-impedimentos-disponibilidade > summary { padding: 16px 18px; color: var(--grafite-azulado); background: #dce5e7; border: 1px solid var(--borda); border-radius: 7px; cursor: pointer; font-weight: 750; }
.gestao-impedimentos-disponibilidade > summary:focus-visible { outline: 3px solid #40525c66; }
@media (max-width: 1150px) { .grade-consulta-disponibilidade { grid-template-columns: 1fr; }.painel-indisponiveis-disponibilidade .lista-pessoas-disponibilidade { max-height: 275px; } }
@media (max-width: 760px) { .indicadores-consulta-disponibilidade { grid-template-columns: repeat(2, minmax(0, 1fr)); }.filtros-consulta-disponibilidade, .turnos-escala-disponibilidade { grid-template-columns: 1fr; } }
@media (max-width: 480px) { .indicadores-consulta-disponibilidade { grid-template-columns: 1fr; } }
label { display: grid; grid-template-columns: auto 1fr; gap: 4px; color: var(--texto); font-size: .88rem; font-weight: 650; }
label :is(input, select) { grid-column: 1 / -1; }
.campo-email-institucional { display: flex; grid-column: 1 / -1; }
.campo-email-institucional input { border-radius: 4px 0 0 4px; }
.campo-email-institucional span { display: flex; align-items: center; padding: 0 10px; color: var(--texto-suave); background: #edf1f2; border: 1px solid var(--cinza-frio); border-left: 0; border-radius: 0 4px 4px 0; font-size: .85rem; white-space: nowrap; }
.obrigatorio { color: var(--erro); }
input, select, textarea { width: 100%; padding: 10px 11px; color: var(--texto); background: #fff; border: 1px solid var(--cinza-frio); border-radius: 4px; font: inherit; }
textarea { resize: vertical; }input:focus, select:focus, textarea:focus { outline: 3px solid #40525c44; border-color: var(--azul-camuflado); }
.consulta-cep { display: flex; align-items: center; gap: 10px; padding-top: 22px; }
.consulta-cep button { padding: 10px 12px; white-space: nowrap; }
.status-cep { display: inline-flex; align-items: center; gap: 6px; color: var(--texto-suave); font-size: .82rem; }
.status-cep::before { width: 12px; height: 12px; border: 2px solid var(--cinza-frio); border-top-color: var(--grafite-azulado); border-radius: 50%; content: ''; animation: girar .8s linear infinite; }
@keyframes girar { to { transform: rotate(360deg); } }
.acoes-formulario { display: flex; justify-content: space-between; align-items: center; gap: 18px; padding-top: 20px; border-top: 1px solid var(--borda); }
.acoes-formulario p { margin: 0; font-size: .85rem; }
.botoes-formulario { display: flex; gap: 10px; }
button { padding: 11px 16px; border: 1px solid var(--grafite-profundo); border-radius: 4px; color: white; background: var(--grafite-azulado); font: inherit; font-weight: 700; cursor: pointer; }
button:hover { background: var(--grafite-profundo); }
.botao-secundario { color: var(--grafite-azulado); background: transparent; border-color: var(--cinza-frio); }
.botao-secundario:hover { color: var(--grafite-profundo); background: #edf1f2; }
.botao-editar { padding: 6px 10px; font-size: .8rem; }
.cabecalho-efetivo { align-items: center; }
.botao-cadastrar-militar { padding: 10px 14px; white-space: nowrap; }
.abas-status-efetivo { display: inline-flex; gap: 4px; margin-bottom: 20px; padding: 4px; background: #dfe6e8; border: 1px solid var(--borda); border-radius: 9px; }
.aba-status-efetivo { display: inline-flex; align-items: center; gap: 8px; padding: 8px 12px; color: var(--texto-suave); background: transparent; border: 0; border-radius: 6px; font-size: .8rem; }
.aba-status-efetivo:hover { color: var(--grafite-profundo); background: #edf2f3; }
.aba-status-efetivo.ativa { color: #fff; background: var(--grafite-azulado); }
.aba-status-efetivo span { display: grid; place-items: center; min-width: 24px; height: 22px; padding: 0 6px; color: inherit; background: #ffffff24; border-radius: 999px; font-size: .7rem; }
.filtros-rapidos-local { display: flex; flex-wrap: wrap; align-items: center; gap: 7px; margin-bottom: 20px; }
.filtros-rapidos-local[hidden] { display: none !important; }
.filtros-rapidos-local > span { margin-right: 3px; color: var(--texto-suave); font-size: .72rem; font-weight: 800; letter-spacing: .05em; text-transform: uppercase; }
.filtro-rapido-local { padding: 7px 11px; color: var(--azul-camuflado); background: #f7f9f9; border-color: var(--borda); border-radius: 999px; font-size: .75rem; }
.filtro-rapido-local:hover { color: var(--grafite-profundo); background: #e5ebed; }
.filtro-rapido-local.ativo { color: #fff; background: var(--azul-camuflado); border-color: var(--azul-camuflado); box-shadow: 0 2px 7px #11171b20; }
.indicadores-efetivo { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 10px; margin-bottom: 22px; }
.indicadores-efetivo[hidden], .bloco-distribuicao-efetivo[hidden] { display: none !important; }
.indicadores-efetivo > div { display: grid; gap: 5px; padding: 15px 16px; background: #e9eff1; border: 1px solid var(--borda); border-top: 3px solid var(--azul-camuflado); border-radius: 6px; }
.indicadores-efetivo span { color: var(--texto-suave); font-size: .72rem; font-weight: 700; letter-spacing: .03em; text-transform: uppercase; }
.indicadores-efetivo strong { color: var(--grafite-profundo); font-size: 1.45rem; }
.bloco-distribuicao-efetivo { margin-bottom: 22px; }
.bloco-distribuicao-efetivo h3 { margin: 0 0 10px; color: var(--grafite-azulado); font-size: .82rem; text-transform: uppercase; }
.distribuicao-postos { display: flex; flex-wrap: wrap; gap: 7px; }
.distribuicao-postos > div { display: inline-flex; align-items: center; overflow: hidden; background: #edf2f3; border: 1px solid var(--borda); border-radius: 999px; }
.distribuicao-postos span { padding: 6px 9px; color: var(--texto-suave); font-size: .75rem; }
.distribuicao-postos strong { min-width: 30px; padding: 6px 9px; color: #fff; background: var(--grafite-azulado); font-size: .75rem; text-align: center; }
.filtros-efetivo { display: grid; grid-template-columns: minmax(260px, 2fr) minmax(210px, 1fr) auto; align-items: end; gap: 12px; margin-bottom: 18px; padding: 14px; background: #eef3f4; border: 1px solid var(--borda); border-radius: 6px; }
.filtros-efetivo button { height: 40px; }
.lista-vazia-efetivo { padding: 28px; color: var(--texto-suave); text-align: center; font-style: italic; }
.tabela-responsiva { overflow-x: auto; }
table { width: 100%; min-width: 850px; border-collapse: collapse; }
th, td { padding: 12px; border-bottom: 1px solid var(--borda); text-align: left; }
th { color: var(--texto-suave); background: #edf1f2; font-size: .77rem; letter-spacing: .03em; text-transform: uppercase; }
tbody tr:hover { background: #eef3f4; }
.somente-leitor-tela { position: absolute; width: 1px; height: 1px; padding: 0; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; }
.tabela-efetivo { min-width: 820px; }
.tabela-efetivo th { position: sticky; top: 0; z-index: 1; }
.tabela-efetivo th:first-child { width: 34%; }.tabela-efetivo th:nth-child(2) { width: 16%; }.tabela-efetivo th:nth-child(3) { width: 25%; }.tabela-efetivo th:nth-child(4) { width: 20%; }.tabela-efetivo th:last-child { width: 5%; }
.linha-interativa-efetivo { cursor: pointer; transition: background .15s ease, box-shadow .15s ease, transform .15s ease; }
.linha-interativa-efetivo:hover { background: #eef3f4; box-shadow: inset 4px 0 var(--azul-camuflado); }
.linha-interativa-efetivo:focus-visible { outline: 3px solid #40525c66; outline-offset: -3px; background: #eef3f4; }
.linha-militar-arquivado { background: #f3f4f4; }.linha-militar-arquivado .avatar-militar { filter: grayscale(.7); opacity: .78; }
.linha-interativa-efetivo td { vertical-align: middle; }
.resumo-militar-tabela { display: flex; align-items: center; gap: 11px; min-width: 250px; }
.resumo-militar-tabela > span:last-child, .precedencia-militar-tabela, .cnh-militar-tabela { display: grid; gap: 3px; }
.resumo-militar-tabela strong, .precedencia-militar-tabela strong, .cnh-militar-tabela strong { color: var(--grafite-profundo); font-size: .86rem; }
.resumo-militar-tabela small, .precedencia-militar-tabela small, .cnh-militar-tabela small { color: var(--texto-suave); font-size: .72rem; }
.avatar-militar { display: grid; flex: 0 0 auto; place-items: center; width: 54px; height: 54px; color: #f4f7f7; background: linear-gradient(145deg, var(--azul-camuflado), var(--grafite-profundo)); border: 2px solid #ffffff70; border-radius: 16px; box-shadow: 0 4px 14px #11171b24; font-size: 1rem; font-weight: 800; letter-spacing: .04em; }
.avatar-militar-tabela { width: 38px; height: 38px; border-width: 1px; border-radius: 11px; box-shadow: none; font-size: .72rem; }
.lotacao-militar-tabela { color: var(--texto-suave); font-size: .78rem; line-height: 1.35; }
.indicador-abrir-perfil { display: grid; place-items: center; width: 30px; height: 30px; margin-left: auto; color: var(--azul-camuflado); background: #e2e9eb; border-radius: 50%; font-size: 1.45rem; line-height: 1; transition: color .15s ease, background .15s ease, transform .15s ease; }
.linha-interativa-efetivo:hover .indicador-abrir-perfil { color: #fff; background: var(--grafite-azulado); transform: translateX(2px); }
.painel-detalhes-militar[hidden] { display: none !important; }
.painel-detalhes-militar { position: fixed; z-index: 950; inset: 0; display: flex; justify-content: flex-end; background: #11171ba6; backdrop-filter: blur(2px); }
.conteudo-painel-detalhes-militar { display: grid; grid-template-rows: auto minmax(0, 1fr) auto; width: min(510px, calc(100% - 24px)); height: 100dvh; background: var(--superficie); border-left: 5px solid var(--azul-camuflado); box-shadow: -18px 0 55px #0005; animation: entrar-painel .2s ease-out; }
@keyframes entrar-painel { from { opacity: .5; transform: translateX(32px); } to { opacity: 1; transform: translateX(0); } }
.cabecalho-detalhes-militar { position: relative; padding: 30px 28px 24px; color: #eef3f4; background: linear-gradient(145deg, var(--grafite-azulado), var(--grafite-profundo)); }
.botao-fechar-detalhes-militar { position: absolute; top: 18px; right: 18px; display: grid; place-items: center; width: 36px; height: 36px; padding: 0; color: #dbe3e5; background: #ffffff12; border-color: #ffffff52; border-radius: 50%; font-size: 1.35rem; line-height: 1; }
.botao-fechar-detalhes-militar:hover { background: #ffffff24; }
.perfil-resumo-militar { display: flex; align-items: center; gap: 15px; padding-right: 36px; }
.sobretitulo-detalhes { margin: 0 0 4px; color: #bfcbd0; font-size: .67rem; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.cabecalho-detalhes-militar h2 { color: #fff; font-size: 1.35rem; }
.cabecalho-detalhes-militar h2 + p { margin: 4px 0 0; color: #cbd5d9; font-size: .82rem; }
.etiquetas-detalhes-militar { display: flex; flex-wrap: wrap; gap: 7px; margin-top: 18px; }
.etiquetas-detalhes-militar span { padding: 6px 9px; color: #eaf0f2; background: #ffffff14; border: 1px solid #ffffff35; border-radius: 999px; font-size: .72rem; font-weight: 700; }
.corpo-detalhes-militar { min-height: 0; padding: 20px 24px 28px; overflow-y: auto; }
.corpo-detalhes-militar > * + * { margin-top: 13px; }
.carregando-detalhes-militar { padding: 28px; color: var(--texto-suave); text-align: center; }
.secao-detalhes-militar { padding: 16px; background: #eef3f4; border: 1px solid var(--borda); border-radius: 9px; }
.secao-detalhes-militar h3 { margin: 0 0 13px; color: var(--grafite-azulado); font-size: .78rem; letter-spacing: .05em; text-transform: uppercase; }
.secao-detalhes-militar dl { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 13px 16px; margin: 0; }
.secao-detalhes-militar dl > div { min-width: 0; }
.secao-detalhes-militar dt { margin-bottom: 3px; color: var(--texto-suave); font-size: .68rem; font-weight: 700; text-transform: uppercase; }
.secao-detalhes-militar dd { margin: 0; overflow-wrap: anywhere; color: var(--texto); font-size: .84rem; line-height: 1.35; }
.dados-sensiveis-militar { overflow: hidden; background: #f5f7f7; border: 1px solid var(--borda); border-radius: 9px; }
.dados-sensiveis-militar > summary { position: relative; padding: 15px 42px 15px 16px; color: var(--grafite-azulado); cursor: pointer; font-size: .8rem; font-weight: 750; list-style: none; }
.dados-sensiveis-militar > summary::-webkit-details-marker { display: none; }
.dados-sensiveis-militar > summary::after { position: absolute; right: 16px; content: '⌄'; transition: transform .15s ease; }
.dados-sensiveis-militar[open] > summary::after { transform: rotate(180deg); }
.dados-sensiveis-militar > div { padding: 0 10px 10px; }
.dados-sensiveis-militar .secao-detalhes-militar { background: #fff; }
.acoes-detalhes-militar { display: flex; gap: 10px; padding: 16px 24px; background: #f3f6f6; border-top: 1px solid var(--borda); box-shadow: 0 -8px 20px #11171b0a; }
.acoes-detalhes-militar button:first-child { flex: 1; }.acoes-detalhes-militar button:disabled { opacity: .55; cursor: wait; }
.botao-arquivar-militar { color: #8a2929; background: #fff; border-color: #b96b6b; }.botao-arquivar-militar:hover { color: #fff; background: #8a2929; }.botao-arquivar-militar.botao-reativar-militar { color: #276343; border-color: #5f9272; }.botao-arquivar-militar.botao-reativar-militar:hover { color: #fff; background: #276343; }
.resumo-geral-qo { display: flex; gap: 1px; width: fit-content; margin-bottom: 18px; overflow: hidden; background: var(--borda); border: 1px solid var(--borda); border-radius: 6px; }
.resumo-geral-qo div { display: grid; min-width: 98px; padding: 9px 16px; background: #edf2f3; text-align: center; }
.resumo-geral-qo strong { color: var(--grafite-profundo); font-size: 1.15rem; }.resumo-geral-qo span { color: var(--texto-suave); font-size: .7rem; text-transform: uppercase; }
.painel-qo { display: grid; gap: 14px; padding-top: 4px; }.topo-qo { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }.unidade-linha-qo { padding: 12px; background: #e9eff1; border: 1px solid var(--borda); border-top: 4px solid var(--grafite-azulado); border-radius: 7px; }.unidade-especial-qo { background: #edf2f3; }.cabecalho-unidade-qo { display: flex; align-items: baseline; justify-content: space-between; gap: 16px; margin: -12px -12px 10px; padding: 10px 12px; border-radius: 6px 6px 0 0; }.cabecalho-unidade-qo h2 { color: inherit; font-size: 1.05rem; }.cabecalho-unidade-qo p { margin: 0; color: inherit; opacity: .82; font-size: .74rem; white-space: nowrap; }
.nivel-esquadrao-qo { border-top-color: var(--grafite-profundo); }.nivel-esquadrao-qo > .cabecalho-unidade-qo { color: #f4f7f7; background: var(--grafite-profundo); }
.nivel-secao-qo { border-top-color: var(--azul-camuflado); }.nivel-secao-qo > .cabecalho-unidade-qo { color: #f4f7f7; background: var(--azul-camuflado); }
.pelotao-linha-qo > .cabecalho-unidade-qo { color: #f4f7f7; background: #5f737c; }
.cabecalho-retratil-qo { position: relative; padding-right: 38px; list-style: none; cursor: pointer; user-select: none; }.cabecalho-retratil-qo::-webkit-details-marker { display: none; }.cabecalho-retratil-qo::after { position: absolute; right: 14px; top: 50%; font-size: 1rem; content: '⌄'; transform: translateY(-55%) rotate(180deg); transition: transform .18s ease; }.pelotao-linha-qo:not([open]) .cabecalho-retratil-qo::after { transform: translateY(-45%) rotate(0); }.pelotao-linha-qo:not([open]) { padding-bottom: 0; }.pelotao-linha-qo:not([open]) .cabecalho-unidade-qo { margin-bottom: 0; border-radius: 6px; }.cabecalho-retratil-qo:hover { background: #52666f; }
.grupos-pelotao-qo { display: grid; grid-template-columns: repeat(auto-fit, minmax(185px, 1fr)); gap: 8px; }
.comando-pelotao-qo { margin-bottom: 9px; background: #e3e9eb; border-top-color: var(--grafite-azulado); }
.comando-pelotao-qo .linha-posto-qo { display: grid; grid-template-columns: 130px minmax(180px, 320px); align-items: center; gap: 8px; }.comando-pelotao-qo .linha-posto-qo h4 { margin: 0; }
.grupo-qo { padding: 10px; background: #edf2f3; border: 1px solid var(--borda); border-top: 3px solid var(--azul-camuflado); border-radius: 6px; }
.nivel-gpm-qo { background: #f3f5f5; border-top-color: var(--cinza-frio); }.nivel-fvr-qo { background: #e8edef; border-top-color: #5f737c; }
.cabecalho-grupo-qo { display: flex; align-items: center; justify-content: space-between; gap: 8px; margin-bottom: 8px; }.cabecalho-grupo-qo h3 { margin: 0; color: var(--grafite-azulado); font-size: .85rem; }.cabecalho-grupo-qo span { color: var(--texto-suave); font-size: .68rem; }
.linha-posto-qo { padding: 6px 0; border-top: 1px solid #d7dddf; }.linha-posto-qo h4 { margin: 0 0 5px; color: var(--texto-suave); font-size: .68rem; font-weight: 700; }.vagas-qo { display: grid; grid-template-columns: repeat(auto-fit, minmax(92px, 1fr)); gap: 4px; }.vaga-qo { min-width: 0; padding: 5px; border: 1px solid var(--borda); border-radius: 4px; }.vaga-disponivel { background: #e6f3e9; border-color: #a8c9b1; border-left: 3px solid #4f8a63; }.vaga-disponivel select { background: #f5fbf6; }.vaga-ocupada { background: #fff3c9; border-color: #dccb8a; border-left: 3px solid #b38a24; }.vaga-ocupada select { background: #fffaf0; }.vaga-indisponivel { color: #6f777a; background: #e1e5e6; border: 1px dashed #aab2b5; }.vaga-indisponivel select { color: #6f777a; background: #d8dddf; cursor: not-allowed; }.vaga-qo label { font-size: .62rem; line-height: 1; }.vaga-qo select { margin-top: 3px; min-width: 0; padding: 5px 3px; font-size: .68rem; }
.aviso-qo { margin: 16px 0 0; color: var(--texto-suave); font-size: .78rem; }
.previsao-ferias { display: flex; gap: 1px; width: fit-content; padding: 1px; color: var(--texto-suave); background: var(--borda); border-radius: 6px; font-size: .85rem; }.previsao-ferias > span { display: grid; gap: 2px; min-width: 155px; padding: 10px 14px; color: var(--texto); background: #edf2f3; }.previsao-ferias strong { color: var(--texto-suave); font-size: .68rem; text-transform: uppercase; }.resumo-lista-ferias { color: var(--texto-suave); font-size: .78rem; }.situacao-ferias { display: inline-block; padding: 5px 8px; border-radius: 999px; font-size: .72rem; font-weight: 700; }.situacao-prevista { color: #66541d; background: #fff3c9; }.situacao-confirmada { color: #24583a; background: #dff0e4; }
.cabecalho-calendario-ferias { align-items: end; }.seletor-ano-ferias { display: grid; width: 130px; flex: 0 0 auto; }.legenda-calendario-ferias { display: flex; flex-wrap: wrap; gap: 14px; margin: -6px 0 18px; color: var(--texto-suave); font-size: .75rem; }.legenda-calendario-ferias span { display: inline-flex; align-items: center; gap: 6px; }.legenda-calendario-ferias i { width: 10px; height: 10px; border-radius: 50%; }.legenda-disponivel { background: #6e9d7b; }.legenda-lotada { background: #c19b3f; }.legenda-excedida { background: #ad5151; }.aviso-ferias-sem-local { margin-bottom: 16px; padding: 10px 12px; color: #66541d; background: #fff3c9; border: 1px solid #dccb8a; border-radius: 5px; font-size: .8rem; }.calendario-ferias { display: grid; gap: 9px; transition: opacity .15s ease; }.calendario-ferias.carregando { opacity: .45; pointer-events: none; }.mes-ferias { overflow: hidden; background: #edf2f3; border: 1px solid var(--borda); border-radius: 7px; }.mes-ferias > summary { position: relative; display: flex; align-items: center; justify-content: space-between; gap: 18px; padding: 12px 42px 12px 14px; color: #f4f7f7; background: var(--grafite-azulado); list-style: none; cursor: pointer; }.mes-ferias > summary::-webkit-details-marker { display: none; }.mes-ferias > summary::after { position: absolute; right: 16px; content: '⌄'; transform: rotate(0); transition: transform .18s ease; }.mes-ferias[open] > summary::after { transform: rotate(180deg); }.mes-ferias > summary strong { font-size: .95rem; }.mes-ferias > summary span { color: #dbe3e5; font-size: .74rem; }.quinzena-ferias { padding: 12px; }.quinzena-ferias + .quinzena-ferias { padding-top: 0; }.quadro-grupo-ferias + .quadro-grupo-ferias { margin-top: 9px; }.cabecalho-quadro-ferias { display: flex; align-items: center; justify-content: space-between; gap: 14px; padding: 8px 10px; color: #f4f7f7; background: #5f737c; border-radius: 5px 5px 0 0; }.quadro-interior .cabecalho-quadro-ferias { background: #78858a; }.cabecalho-quadro-ferias h4 { margin: 0; color: inherit; font-size: .78rem; letter-spacing: .03em; text-transform: uppercase; }.cabecalho-quadro-ferias span { display: block; margin-top: 2px; color: #edf1f2; font-size: .66rem; }.botao-adicionar-vaga-ferias { padding: 5px 8px; color: var(--grafite-profundo); background: #edf2f3; border-color: #d4dcde; font-size: .68rem; white-space: nowrap; }.botao-adicionar-vaga-ferias:hover { color: white; }.tabela-vagas-ferias table { min-width: 800px; table-layout: fixed; }.tabela-vagas-ferias th, .tabela-vagas-ferias td { padding: 6px 8px; font-size: .7rem; }.tabela-vagas-ferias th:nth-child(1) { width: 48px; }.tabela-vagas-ferias th:nth-child(2) { width: 26%; }.tabela-vagas-ferias th:nth-child(3) { width: 100px; }.tabela-vagas-ferias th:nth-child(4), .tabela-vagas-ferias th:nth-child(5) { width: 75px; }.tabela-vagas-ferias th:nth-child(6), .tabela-vagas-ferias th:nth-child(7) { width: 86px; }.tabela-vagas-ferias th:nth-child(8) { width: 120px; }.numero-vaga-ferias { color: var(--grafite-profundo); background: #dfe5e7; font-weight: 800; text-align: center; }.vaga-ferias-disponivel { background: #e6f3e9; }.vaga-ferias-ocupada { background: #fff3c9; }.vaga-ferias-excedida { color: #7b2424; background: #f6e2e2; }.texto-vaga-disponivel { color: #4f7159; font-style: italic; }
.acoes-calendario-ferias { display: flex; align-items: end; flex-wrap: wrap; gap: 10px; }.acoes-calendario-ferias > button { min-height: 42px; white-space: nowrap; }
@media (max-width: 700px) { .acoes-calendario-ferias, .acoes-calendario-ferias > button { width: 100%; } }
.legenda-prevista { background: #6b91a5; }.vaga-ferias-prevista { background: #e3eef3; }.vaga-ferias-confirmada { background: #fff3c9; }
.tabela-vagas-ferias table { min-width: 1180px; }.tabela-vagas-ferias th:nth-child(1) { width: 52px; }.tabela-vagas-ferias th:nth-child(2) { width: 125px; }.tabela-vagas-ferias th:nth-child(3) { width: 230px; }.tabela-vagas-ferias th:nth-child(4) { width: 105px; }.tabela-vagas-ferias th:nth-child(5) { width: 115px; }.tabela-vagas-ferias th:nth-child(6) { width: 110px; }.tabela-vagas-ferias th:nth-child(7), .tabela-vagas-ferias th:nth-child(8) { width: 92px; }.tabela-vagas-ferias th:nth-child(9) { width: 95px; }.tabela-vagas-ferias th:nth-child(10) { width: 125px; }
.painel-saldos-ferias > summary { display: flex; align-items: center; justify-content: space-between; gap: 18px; list-style: none; cursor: pointer; }.painel-saldos-ferias > summary::-webkit-details-marker { display: none; }.painel-saldos-ferias > summary p { margin: 8px 0 0; color: var(--texto-suave); }.conteudo-saldos-ferias { display: grid; gap: 20px; margin-top: 22px; padding-top: 20px; border-top: 1px solid var(--borda); }.visao-geral-saldos { display: grid; gap: 14px; padding: 18px; background: #eef3f4; border: 1px solid #d5dfe1; border-radius: 7px; }.cabecalho-visao-geral-saldos h3 { margin: 0; color: var(--grafite-profundo); font-size: .9rem; }.cabecalho-visao-geral-saldos p { margin: 4px 0 0; color: var(--texto-suave); font-size: .78rem; }.cartoes-resumo-saldos { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 10px; }.cartao-resumo-saldo { display: grid; gap: 3px; min-height: 74px; padding: 12px; background: #fff; border: 1px solid #d5dfe1; border-radius: 6px; cursor: pointer; text-align: left; }.cartao-resumo-saldo:hover, .cartao-resumo-saldo[aria-pressed="true"] { border-color: #60757d; box-shadow: inset 0 0 0 1px #60757d; }.cartao-resumo-saldo strong { color: var(--grafite-profundo); font-size: 1.35rem; line-height: 1; }.cartao-resumo-saldo span { color: var(--texto-suave); font-size: .72rem; font-weight: 700; }.cartao-resumo-saldo.resumo-pendencia { background: #fff5f4; border-color: #d89892; }.cartao-resumo-saldo.resumo-pendencia strong, .cartao-resumo-saldo.resumo-pendencia span { color: #8d2420; }.cartao-resumo-saldo.resumo-zero { background: #fff9eb; border-color: #dec889; }.filtros-saldos-ferias { display: grid; grid-template-columns: minmax(230px, 2fr) minmax(180px, 1fr) minmax(180px, 1fr) auto; align-items: end; gap: 12px; }.filtros-saldos-ferias label { display: grid; gap: 5px; color: var(--texto-suave); font-size: .76rem; font-weight: 800; }.filtros-saldos-ferias input, .filtros-saldos-ferias select, .filtros-saldos-ferias button { min-height: 40px; }.filtros-saldos-ferias button { white-space: nowrap; }.grade-saldo-ferias { display: grid; grid-template-columns: minmax(240px, 2fr) minmax(150px, 1fr) minmax(130px, 1fr) auto; align-items: end; gap: 12px; }.grade-saldo-ferias button { height: 40px; }.dica-quadro-saldos { margin: 0; color: var(--texto-suave); font-size: .78rem; font-style: italic; }.tabela-saldos-ferias { max-height: min(64vh, 780px); overflow: auto; border: 1px solid var(--borda); border-radius: 6px; scrollbar-color: #98a7ac #edf1f2; scrollbar-width: thin; }.tabela-saldos-ferias table { min-width: 900px; table-layout: fixed; }.tabela-saldos-ferias th, .tabela-saldos-ferias td { padding: 8px 9px; font-size: .72rem; }.tabela-saldos-ferias th { position: sticky; top: 0; z-index: 2; white-space: nowrap; }.tabela-saldos-ferias th:nth-child(1), .tabela-saldos-ferias td:nth-child(1) { position: sticky; left: 0; z-index: 1; width: 105px; background: #edf1f2; }.tabela-saldos-ferias th:nth-child(2), .tabela-saldos-ferias td:nth-child(2) { position: sticky; left: 105px; z-index: 1; width: 130px; background: #f7f9f9; box-shadow: 6px 0 9px #11171b12; }.tabela-saldos-ferias th:nth-child(1), .tabela-saldos-ferias th:nth-child(2) { z-index: 3; background: #dfe6e8; }.tabela-saldos-ferias th:nth-child(3) { width: 150px; }.tabela-saldos-ferias th:nth-child(4) { width: 145px; }.tabela-saldos-ferias tbody tr { transition: background .15s ease; }.tabela-saldos-ferias tbody tr:hover td { background-color: #e7eff1; }.tabela-saldos-ferias tbody tr:hover td:nth-child(1), .tabela-saldos-ferias tbody tr:hover td:nth-child(2) { background-color: #dbe6e8; }.tabela-saldos-ferias tbody tr:nth-child(even) td { background-color: #f3f6f6; }.tabela-saldos-ferias tbody tr:nth-child(even) td:nth-child(1), .tabela-saldos-ferias tbody tr:nth-child(even) td:nth-child(2) { background-color: #e8edef; }.tabela-saldos-ferias .linha-saldo-pendente td { background-color: #fde8e7; }.tabela-saldos-ferias .linha-saldo-pendente td:nth-child(1), .tabela-saldos-ferias .linha-saldo-pendente td:nth-child(2) { background-color: #f8d6d3; }.tabela-saldos-ferias .linha-saldo-pendente:hover td { background-color: #f9dbd8; }.tabela-saldos-ferias .linha-saldo-pendente:hover td:nth-child(1), .tabela-saldos-ferias .linha-saldo-pendente:hover td:nth-child(2) { background-color: #f3c8c4; }.celula-saldo-anual { width: 90px; padding: 4px !important; text-align: center; }.botao-celula-saldo { width: 100%; min-height: 34px; padding: 6px; color: var(--grafite-profundo); background: #e6f3e9; border-color: #a8c9b1; font-size: .78rem; }.botao-celula-saldo:hover { color: #fff; background: #4f7159; }.botao-celula-saldo.saldo-zero { color: #735417; background: #fff4d7; border-color: #dcc17d; }.botao-celula-saldo.saldo-zero:hover { color: #fff; background: #896b27; }.botao-celula-saldo.saldo-nao-informado { color: var(--texto-suave); background: #f4f6f6; border-color: #d5dcde; }.botao-celula-saldo.saldo-nao-informado:hover { color: #fff; background: var(--grafite-azulado); }.selo-pendencia-saldo { display: inline-flex; align-items: center; min-height: 25px; padding: 4px 8px; color: #8d2420; background: #fff4f3; border: 1px solid #c85650; border-radius: 999px; font-size: .68rem; font-weight: 800; line-height: 1.1; white-space: nowrap; }.lista-vazia-saldos { padding: 22px; color: var(--texto-suave); text-align: center; }
.acoes-tabela-ferias { display: flex; gap: 6px; align-items: center; white-space: nowrap; }.botao-excluir { padding: 6px 10px; color: #8a2929; background: #fff; border-color: #b96b6b; font-size: .8rem; }.botao-excluir:hover { color: #fff; background: #8a2929; }.situacao-cancelada { color: #6b3030; background: #f1dede; }
.filtros-saldos-ferias { grid-template-columns: minmax(230px, 2fr) minmax(180px, 1fr) auto; }.botao-adicionar-saldo { padding: 10px 14px; white-space: nowrap; }.botao-marcar-pendencia { color: #8d2420; background: #fff5f4; border-color: #c85650; }.botao-marcar-pendencia:hover { color: #fff; background: #8d2420; }#modal-saldo-ferias .botao-marcar-pendencia { grid-column: 1 / -1; }
.tabela-periodos-ferias th:last-child, .tabela-periodos-ferias td:last-child { position: sticky; right: 0; z-index: 1; background: #f7f9f9; box-shadow: -7px 0 10px #11171b12; }.tabela-periodos-ferias th:last-child { z-index: 2; background: #edf1f2; }
.dica-linha-ferias { margin-left: auto; font-style: italic; }.linha-interativa-ferias { cursor: pointer; transition: filter .15s ease, box-shadow .15s ease; }.linha-interativa-ferias:hover { filter: brightness(.96); box-shadow: inset 3px 0 var(--grafite-azulado); }.linha-interativa-ferias:focus-visible { outline: 3px solid #40525c66; outline-offset: -3px; }
.legenda-status-meses { display: flex; flex-wrap: wrap; align-items: center; gap: 12px; margin: -6px 0 18px; color: var(--texto-suave); font-size: .75rem; }.legenda-status-meses strong { color: var(--grafite-azulado); }.legenda-status-meses span { display: inline-flex; align-items: center; gap: 6px; }.legenda-status-meses i { width: 14px; height: 8px; border-radius: 2px; }.mes-com-vagas { background: #466b57; }.mes-uma-lotada { background: #9a762e; }.mes-duas-lotadas { background: #8b3f3f; }.mes-com-vagas-nas-quinzenas > summary { background: #466b57; }.mes-uma-quinzena-lotada > summary { background: #9a762e; }.mes-duas-quinzenas-lotadas > summary { background: #8b3f3f; }
.cabecalho-ferias { align-items: center; }.acoes-cabecalho-ferias { display: flex; align-items: center; gap: 12px; }.abas-ferias { display: flex; padding: 3px; background: #dbe3e5; border: 1px solid var(--borda); border-radius: 7px; }.aba-ferias { padding: 8px 12px; color: var(--texto-suave); background: transparent; border: 0; border-radius: 5px; font-size: .8rem; }.aba-ferias:hover { color: var(--grafite-profundo); background: #edf2f3; }.aba-ferias.ativa { color: #fff; background: var(--grafite-azulado); }.aba-ferias:focus-visible { outline: 3px solid #40525c55; outline-offset: 2px; }.botao-novo-periodo-ferias { padding: 10px 14px; white-space: nowrap; }.painel-aba-ferias[hidden], .modal-periodo-ferias[hidden], .modal-militar[hidden] { display: none !important; }.modal-aberto { overflow: hidden; }.modal-periodo-ferias, .modal-militar { position: fixed; z-index: 900; inset: 0; display: grid; place-items: center; padding: 24px; overflow-y: auto; background: #11171bb8; }.conteudo-modal-periodo-ferias, .conteudo-modal-militar { width: min(900px, 100%); max-height: calc(100vh - 48px); margin: auto; overflow-y: auto; box-shadow: 0 18px 55px #0006; }.botao-fechar-modal { display: grid; place-items: center; width: 34px; height: 34px; padding: 0; color: var(--texto-suave); background: transparent; border-color: var(--borda); border-radius: 50%; font-size: 1.35rem; line-height: 1; }.botao-fechar-modal:hover { color: #fff; }
@media (max-width: 760px) {
  .aplicacao { grid-template-columns: 1fr; }.barra-lateral { padding: 18px; }.marca { padding-bottom: 14px; }
  nav { grid-template-columns: repeat(2, minmax(0, 1fr)); margin-top: 14px; }.rodape-menu { display: none; }
  .conteudo-principal { padding: 24px 18px; }.cabecalho-pagina, .acoes-formulario { align-items: flex-start; flex-direction: column; }
  .cabecalho-efetivo { align-items: stretch; }.botao-cadastrar-militar { width: 100%; }.abas-status-efetivo { display: flex; width: 100%; }.aba-status-efetivo { flex: 1; justify-content: center; }.filtros-rapidos-local > span { width: 100%; }.filtro-rapido-local { flex: 1 1 calc(50% - 7px); }.indicadores-efetivo { grid-template-columns: repeat(2, minmax(0, 1fr)); }.filtros-efetivo { grid-template-columns: 1fr; }.filtros-efetivo button { width: 100%; }
  .tabela-efetivo { min-width: 0; }.tabela-efetivo thead { display: none; }.tabela-efetivo tbody { display: grid; gap: 10px; }.tabela-efetivo .linha-interativa-efetivo { position: relative; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); padding: 12px; background: #fff; border: 1px solid var(--borda); border-radius: 9px; }.tabela-efetivo .linha-militar-arquivado { background: #f3f4f4; }.tabela-efetivo .linha-interativa-efetivo td { padding: 8px; border: 0; }.tabela-efetivo .linha-interativa-efetivo td:first-child { grid-column: 1 / -1; padding-right: 42px; border-bottom: 1px solid #e0e5e6; }.tabela-efetivo .linha-interativa-efetivo td:nth-child(3) { grid-column: 1 / -1; }.tabela-efetivo .linha-interativa-efetivo td:last-child { position: absolute; top: 17px; right: 14px; padding: 0; }.conteudo-painel-detalhes-militar { width: 100%; border-left: 0; }.cabecalho-detalhes-militar { padding: 24px 20px 20px; }.corpo-detalhes-militar { padding: 16px; }.secao-detalhes-militar dl { grid-template-columns: 1fr; }.acoes-detalhes-militar { flex-wrap: wrap; padding: 14px 16px; }.acoes-detalhes-militar button:first-child { flex-basis: 100%; }
  .grade-campos, .topo-qo, .grupos-pelotao-qo { grid-template-columns: 1fr; }.cartao { padding: 20px; }
  .cabecalho-unidade-qo { align-items: flex-start; flex-direction: column; gap: 3px; }.resumo-geral-qo { width: 100%; }.resumo-geral-qo div { min-width: 0; flex: 1; }
  .comando-pelotao-qo .linha-posto-qo { grid-template-columns: 1fr; }
  .previsao-ferias { width: 100%; flex-direction: column; }.previsao-ferias > span { min-width: 0; }.cabecalho-calendario-ferias { align-items: stretch; }.seletor-ano-ferias { width: 100%; }.mes-ferias > summary { align-items: flex-start; flex-direction: column; gap: 3px; }.cabecalho-quadro-ferias { align-items: flex-start; flex-direction: column; }.botao-adicionar-vaga-ferias { width: 100%; }.painel-saldos-ferias > summary { align-items: flex-start; }.grade-saldo-ferias { grid-template-columns: 1fr; }.cabecalho-ferias { align-items: stretch; }.acoes-cabecalho-ferias { width: 100%; align-items: stretch; flex-direction: column; }.abas-ferias { overflow-x: auto; }.aba-ferias { flex: 1 0 auto; }.botao-novo-periodo-ferias, .botao-adicionar-saldo { width: 100%; }.modal-periodo-ferias, .modal-militar { align-items: start; padding: 12px; }.conteudo-modal-periodo-ferias, .conteudo-modal-militar { max-height: calc(100vh - 24px); }
}

/* Adaptação para tablets: a navegação deixa de disputar largura com o conteúdo. */
@media (max-width: 1024px) {
  .aplicacao { grid-template-columns: 1fr; align-content: start; }
  .barra-lateral, .conteudo-principal { min-width: 0; }
  .barra-lateral { position: static; height: auto; padding: 20px 24px 16px; overflow: visible; }
  .marca { flex-direction: row; justify-content: flex-start; gap: 12px; padding: 0 8px 16px; }
  .marca-logo { width: 112px; }
  nav { grid-template-columns: repeat(4, minmax(0, 1fr)); margin-top: 16px; }
  .item-menu { min-height: 44px; align-items: center; }
  .rodape-menu { display: none; }
  .conteudo-principal { padding: 32px 28px; }
  .cabecalho-ferias { align-items: stretch; flex-direction: column; }
  .acoes-cabecalho-ferias { justify-content: space-between; }
  .filtros-efetivo { grid-template-columns: minmax(0, 2fr) minmax(0, 1fr) auto; }
  .vaga-qo select { min-height: 40px; padding: 8px 6px; font-size: .78rem; }
  .aba-ferias, .filtro-rapido-local, .botao-adicionar-vaga-ferias { min-height: 44px; }
  .modal-periodo-ferias, .modal-militar { min-height: 100dvh; }
  .conteudo-modal-periodo-ferias, .conteudo-modal-militar { max-height: calc(100dvh - 48px); }
}

/* Adaptação para celulares: navegação compacta e controles confortáveis ao toque. */
@media (max-width: 760px) {
  .pagina-acesso { min-height: 100dvh; padding: 12px; }
  .cartao-acesso { padding: 24px 18px; }
  .cartao-acesso input, .cartao-acesso button { min-height: 44px; }
  .barra-lateral { padding: 14px 14px 10px; }
  .marca { padding: 0 4px 12px; }
  .marca-logo { width: 100px; }
  nav { display: flex; width: 100%; min-width: 0; gap: 7px; margin-top: 10px; padding: 0 2px 6px; overflow-x: auto; overscroll-behavior-x: contain; scrollbar-width: thin; }
  .item-menu { flex: 0 0 auto; min-height: 44px; padding: 10px 13px; }
  .item-menu span { display: none; }
  .conteudo-principal { padding: 22px 14px; }
  .cabecalho-pagina, .cabecalho-cartao, .acoes-formulario { align-items: flex-start; flex-direction: column; }
  .cabecalho-pagina { margin-bottom: 22px; }
  .etiqueta-status, .etiqueta-neutra { align-self: flex-start; }
  .cartao { padding: 16px; }
  .tabela-efetivo .linha-interativa-efetivo { padding: 10px; }
  .tabela-efetivo .linha-interativa-efetivo td { min-width: 0; padding: 7px; }
  .tabela-efetivo .linha-interativa-efetivo td:nth-child(3) { grid-column: auto; }
  .tabela-efetivo .linha-interativa-efetivo td:nth-child(4) { grid-column: 1 / -1; }
  .tabela-efetivo .linha-interativa-efetivo td[data-label]::before { display: block; margin-bottom: 4px; color: var(--texto-suave); content: attr(data-label); font-size: .62rem; font-weight: 800; letter-spacing: .04em; text-transform: uppercase; }
  .tabela-efetivo .linha-interativa-efetivo td:last-child { top: 15px; right: 12px; }
  .resumo-militar-tabela { min-width: 0; }
  .acoes-detalhes-militar { display: grid; grid-template-columns: 1fr; padding: 14px 16px; }
  .acoes-detalhes-militar button { width: 100%; min-height: 44px; }
  .cabecalho-calendario-ferias { align-items: stretch; flex-direction: column; }
  .abas-ferias { width: 100%; }
  .aba-ferias, .botao-novo-periodo-ferias, .filtro-rapido-local { min-height: 44px; }
  .tabela-responsiva { overscroll-behavior-x: contain; scrollbar-width: thin; }
  .tabela-vagas-ferias th:first-child, .tabela-vagas-ferias td:first-child { position: sticky; left: 0; z-index: 1; }
  .tabela-vagas-ferias th:first-child { z-index: 2; }
  .modal-periodo-ferias, .modal-militar { min-height: 100dvh; }
  .conteudo-modal-periodo-ferias, .conteudo-modal-militar { max-height: calc(100dvh - 24px); }
  .botoes-formulario { width: 100%; flex-direction: column; }
  .botoes-formulario button { width: 100%; min-height: 44px; }
  .campo-email-institucional input { min-width: 0; }
}

@media (max-width: 480px) {
  .vagas-qo { grid-template-columns: 1fr; }
  .vaga-qo { padding: 8px; }
  .vaga-qo label { font-size: .75rem; }
  .vaga-qo select { min-height: 44px; padding: 10px 8px; font-size: .85rem; }
  .filtros-rapidos-local { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .filtros-rapidos-local > span, .filtro-rapido-local:last-child { grid-column: 1 / -1; width: 100%; }
}

/* Modalidade no cartão do dia: cada informação ocupa sua própria linha. */
.dia-calendario-audiencia.dia-selecionado { border: 2px solid var(--grafite-profundo); background: #f2f6f7; }
.resumo-dia-audiencia { display: grid; gap: 2px; overflow: hidden; padding: 5px; color: #253940; border-left: 4px solid; border-radius: 3px; font-size: .65rem; line-height: 1.2; }
.resumo-dia-audiencia strong { font-size: .7rem; }.resumo-dia-audiencia small { font-size: .58rem; font-weight: 800; }
.modalidade-virtual { background: #dce7e9; border-color: #40525c; }.modalidade-presencial { background: #e5ecd9; border-color: #466b57; }.modalidade-presencial-virtual { background: #f5ebca; border-color: #9a762e; }
.militares-dia-audiencia { display: grid; gap: 2px; }.militares-dia-audiencia > span { display: block; }
.alertas-audiencias { display: grid; grid-template-columns: auto minmax(0, 1fr); gap: 14px; align-items: start; margin: 0 0 20px; padding: 16px 18px; color: var(--texto); background: #f8fafa; border: 1px solid #d6dee0; border-left: 5px solid #9a762e; border-radius: 9px; box-shadow: 0 4px 14px #26343c12; }.alertas-audiencias .icone-alerta-audiencias { display: grid; place-items: center; width: 30px; height: 30px; color: #fff; background: #9a762e; border-radius: 50%; font-size: 1rem; font-weight: 800; }.conteudo-alerta-audiencias { min-width: 0; }.cabecalho-alerta-audiencias { display: flex; align-items: center; justify-content: space-between; gap: 12px; }.cabecalho-alerta-audiencias > div { display: grid; gap: 2px; }.cabecalho-alerta-audiencias small { color: #80611f; font-size: .68rem; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; }.cabecalho-alerta-audiencias strong { color: var(--grafite-profundo); font-size: .92rem; }.quantidade-alerta-audiencias { display: grid; place-items: center; min-width: 28px; height: 28px; padding: 0 8px; color: #fff !important; background: var(--grafite-azulado); border-radius: 14px; font-size: .76rem; font-weight: 800; }.conteudo-alerta-audiencias ul { display: grid; gap: 6px; margin: 12px 0 0; padding: 0; list-style: none; }.conteudo-alerta-audiencias li { display: grid; grid-template-columns: minmax(155px, auto) minmax(0, 1fr); gap: 10px; padding-top: 6px; border-top: 1px solid #e0e5e6; font-size: .78rem; }.conteudo-alerta-audiencias li strong { color: var(--grafite-azulado); text-transform: capitalize; }.conteudo-alerta-audiencias li span { color: var(--texto-suave); }
.alertas-audiencias[hidden] { display: none; }
@media (max-width: 760px) { .alertas-audiencias { padding: 14px; }.conteudo-alerta-audiencias li { grid-template-columns: 1fr; gap: 2px; }.cabecalho-alerta-audiencias { align-items: flex-start; } }

/* Saldos: indicadores e filtros permanecem confortáveis em telas estreitas. */
@media (max-width: 920px) { .cartoes-resumo-saldos { grid-template-columns: repeat(2, minmax(0, 1fr)); }.filtros-saldos-ferias { grid-template-columns: repeat(2, minmax(0, 1fr)); }.filtros-saldos-ferias button { width: 100%; } }
@media (max-width: 560px) { .visao-geral-saldos { padding: 14px; }.cartoes-resumo-saldos, .filtros-saldos-ferias { grid-template-columns: 1fr; }.cartao-resumo-saldo { min-height: 64px; }.tabela-saldos-ferias { max-height: 58vh; margin: 0 -2px; }.tabela-saldos-ferias th, .tabela-saldos-ferias td { padding: 8px 7px; }.tabela-saldos-ferias th:nth-child(1), .tabela-saldos-ferias td:nth-child(1) { width: 82px; }.tabela-saldos-ferias th:nth-child(2), .tabela-saldos-ferias td:nth-child(2) { left: 82px; width: 92px; }.selo-pendencia-saldo { white-space: normal; } }

/* Navegação com ícones e contador de alertas. */
.item-menu { align-items: center; gap: 10px; }.item-menu .conteudo-item-menu { display: flex; min-width: 0; align-items: center; gap: 10px; color: inherit; font-size: .94rem; }.item-menu .conteudo-item-menu > span { overflow: hidden; color: inherit; font-size: inherit; text-overflow: ellipsis; white-space: nowrap; }.icone-menu { display: block; width: 21px; height: 21px; flex: 0 0 21px; object-fit: contain; }.item-menu .detalhe-item-menu { color: #b7c1c5; font-size: .72rem; }.indicadores-item-menu { display: flex; align-items: center; gap: 7px; margin-left: auto; }.badge-menu { display: grid; place-items: center; min-width: 22px; height: 22px; padding: 0 6px; color: #fff !important; background: #8c681e; border: 1px solid #d9bd78; border-radius: 11px; font-size: .68rem !important; font-weight: 800; line-height: 1; }.badge-menu[hidden] { display: none !important; }.item-menu.ativo .badge-menu { color: #202b31 !important; background: #f0d994; border-color: #f6e8bc; }
.item-menu .conteudo-item-menu { flex: 1 1 auto; }.item-menu .indicadores-item-menu { flex: 0 0 auto; }.item-menu:is(a) > .detalhe-item-menu, .item-menu:is(a) .indicadores-item-menu > .detalhe-item-menu { display: none; }
@media (max-width: 760px) { .item-menu .conteudo-item-menu, .item-menu .conteudo-item-menu > span, .item-menu .indicadores-item-menu, .item-menu .badge-menu { display: flex; }.item-menu .badge-menu { display: grid; }.item-menu .detalhe-item-menu { display: none; }.item-menu { padding: 10px 12px; }.icone-menu { width: 20px; height: 20px; flex-basis: 20px; } }
.participantes-formulario-audiencia { margin-top: 20px; padding: 16px; background: #edf2f3; border-left: 4px solid var(--azul-camuflado); }.participantes-formulario-audiencia h3 { margin: 0 0 10px; font-size: .95rem; }.participantes-formulario-audiencia > div { display: flex; gap: 10px; }.participantes-formulario-audiencia select { flex: 1; }.participantes-formulario-audiencia ul { display: grid; gap: 7px; margin: 12px 0 0; padding: 0; list-style: none; }.participantes-formulario-audiencia li { display: flex; align-items: center; justify-content: space-between; gap: 10px; padding: 8px 10px; background: #fff; border-radius: 5px; font-size: .84rem; }.participantes-formulario-audiencia li button { padding: 5px 8px; font-size: .75rem; }
.etapas-detalhes-audiencia { display: grid; gap: 10px; }.etapas-detalhes-audiencia h3 { margin: 0; }.nome-participante-audiencia { margin: -4px 0 4px; color: var(--grafite-azulado); font-size: .9rem; font-weight: 800; }.etapa-controle { display: flex !important; align-items: flex-start; gap: 11px; padding: 10px; background: #fff; border: 1px solid #d5dfe1; border-radius: 6px; cursor: pointer; }.etapa-controle input { width: 18px; height: 18px; margin: 2px 0 0; flex: 0 0 auto; }.etapa-controle span { display: grid; gap: 2px; }.etapa-controle strong { color: var(--texto); font-size: .84rem; }.etapa-controle small, .referencia-email-audiencia small { color: var(--texto-suave); font-size: .73rem; font-weight: 400; }.referencia-email-audiencia { display: grid !important; gap: 5px; padding: 2px 10px 10px 39px; color: var(--texto); font-size: .82rem; font-weight: 800; }.referencia-email-audiencia input { width: 100%; }
.oficio-assinado-participante { display: grid; gap: 7px; padding: 12px; background: #f8fafa; border: 1px dashed #b9c6c9; border-radius: 6px; }.oficio-assinado-participante > strong { color: var(--texto); font-size: .84rem; }.oficio-assinado-participante > span, .oficio-assinado-participante > small { color: var(--texto-suave); font-size: .73rem; font-weight: 400; }.acoes-oficio-assinado { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 8px; }.acoes-oficio-assinado a { color: var(--grafite-azulado); font-size: .78rem; font-weight: 800; text-decoration: underline; text-underline-offset: 2px; }.botao-remover-oficio { padding: 6px 9px; color: #7c2424; background: #fff; border: 1px solid #c88f8f; border-radius: 5px; font-size: .72rem; font-weight: 800; cursor: pointer; }.botao-remover-oficio:hover { color: #fff; background: #8a2929; border-color: #8a2929; }.oficio-assinado-participante input[type="file"] { width: 100%; padding: 8px; color: var(--texto); background: #fff; border: 1px solid #c8d2d4; border-radius: 5px; font-size: .76rem; }.oficio-assinado-participante input[type="file"]::file-selector-button { margin-right: 9px; padding: 6px 9px; color: #fff; background: var(--grafite-azulado); border: 0; border-radius: 4px; cursor: pointer; }

/* Audiências: calendário operacional e lista de acompanhamento. */
.cabecalho-audiencias { align-items: center; }.acoes-cabecalho-audiencias { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 9px; }.acoes-cabecalho-audiencias button { white-space: nowrap; }.alertas-audiencias { display: grid; gap: 4px; margin: 0 0 20px; padding: 14px 18px; color: #49380f; background: #f5ebca; border-left: 5px solid #9a762e; border-radius: 7px; }.alertas-audiencias span { color: #604c19; font-size: .88rem; }.calendario-audiencias-cartao { padding-bottom: 20px; }.cabecalho-calendario-audiencias { align-items: center; }.navegacao-mes { display: flex; align-items: center; gap: 9px; }.navegacao-mes strong { min-width: 160px; color: var(--grafite-profundo); text-align: center; text-transform: capitalize; }.navegacao-mes button { min-width: 44px; padding: 8px; font-size: 1.4rem; line-height: 1; }.legenda-audiencias { display: flex; flex-wrap: wrap; gap: 16px; margin: 18px 0 12px; color: var(--texto-suave); font-size: .78rem; }.legenda-audiencias span { display: inline-flex; align-items: center; gap: 6px; }.legenda-audiencias i { display: inline-block; width: 14px; height: 14px; border-radius: 3px; }.legenda-dia-hoje { border: 2px solid var(--grafite-azulado); background: #fff; }.legenda-dia-passado { background: #d7dddf; }.legenda-dia-audiencia { background: #dce7e9; border-left: 4px solid var(--azul-camuflado); }.semana-calendario, .dias-calendario-audiencias { display: grid; grid-template-columns: repeat(7, minmax(0, 1fr)); }.semana-calendario { border-bottom: 1px solid var(--borda); }.semana-calendario span { padding: 8px; color: var(--texto-suave); font-size: .72rem; font-weight: 800; text-align: center; text-transform: uppercase; }.dias-calendario-audiencias { gap: 5px; padding-top: 5px; }.dia-calendario-audiencia { display: flex; min-height: 104px; padding: 8px; color: var(--texto); background: #fff; border: 1px solid #dce2e4; border-radius: 6px; text-align: left; flex-direction: column; gap: 5px; }.dia-calendario-audiencia:hover { border-color: var(--azul-camuflado); background: #f2f6f7; }.dia-calendario-audiencia:focus-visible { outline: 3px solid #40525c66; outline-offset: 1px; }.dia-calendario-audiencia > strong { color: var(--grafite-azulado); font-size: .82rem; }.dia-calendario-audiencia.dia-passado { color: #7c878b; background: #e8ecee; border-color: #e0e5e6; }.dia-calendario-audiencia.dia-passado > strong { color: #7c878b; }.dia-calendario-audiencia.dia-hoje { border: 2px solid var(--grafite-azulado); }.dia-calendario-audiencia.dia-selecionado { color: #fff; background: var(--grafite-azulado); border-color: var(--grafite-azulado); }.dia-calendario-audiencia.dia-selecionado > strong { color: #fff; }.dia-calendario-audiencia.dia-selecionado .resumo-dia-audiencia, .dia-calendario-audiencia.dia-selecionado .mais-audiencias-dia { color: #fff; }.resumo-dia-audiencia { display: -webkit-box; overflow: hidden; color: #34505a; font-size: .68rem; font-weight: 700; line-height: 1.25; -webkit-box-orient: vertical; -webkit-line-clamp: 2; }.mais-audiencias-dia { color: var(--grafite-azulado); font-size: .7rem; font-weight: 800; }.filtros-audiencias { display: grid; grid-template-columns: minmax(220px, 2fr) minmax(180px, 1fr); gap: 14px; margin: 20px 0; }.filtros-audiencias label { display: grid; gap: 5px; color: var(--texto-suave); font-size: .78rem; font-weight: 800; }.lista-audiencias { display: grid; gap: 10px; }.item-audiencia { display: grid; grid-template-columns: 112px minmax(0, 1fr) minmax(200px, .8fr); gap: 18px; align-items: center; padding: 16px; background: #fff; border: 1px solid #dce2e4; border-radius: 8px; }.horario-audiencia { display: grid; gap: 3px; padding-right: 14px; border-right: 1px solid #dce2e4; }.horario-audiencia strong { color: var(--grafite-profundo); font-size: 1.1rem; }.horario-audiencia span { color: var(--texto-suave); font-size: .75rem; text-transform: capitalize; }.conteudo-item-audiencia { min-width: 0; }.conteudo-item-audiencia > strong { color: var(--grafite-azulado); font-size: .86rem; }.conteudo-item-audiencia p { margin: 5px 0 0; color: var(--texto-suave); font-size: .82rem; }.etiquetas-audiencia { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 9px; }.etiqueta-audiencia { padding: 4px 7px; color: #35515a; background: #dce7e9; border-radius: 4px; font-size: .69rem; font-weight: 800; }.etiqueta-audiencia.concluida { color: #fff; background: #276343; }.etapas-audiencia { display: grid; gap: 5px; color: var(--texto-suave); font-size: .76rem; }.etapas-audiencia span { display: flex; justify-content: space-between; gap: 10px; }.etapas-audiencia strong { color: var(--texto); }.lista-vazia-audiencias { margin: 0; padding: 22px; color: var(--texto-suave); background: #f3f6f6; border-radius: 7px; text-align: center; }
.item-audiencia { cursor: pointer; }.acoes-card-audiencia { display: flex; flex-wrap: wrap; gap: 7px; margin-top: 10px; }.botao-acompanhar-audiencia, .botao-reagendar-audiencia { width: fit-content; padding: 6px 10px; border-radius: 5px; font-size: .72rem; font-weight: 800; cursor: pointer; }.botao-acompanhar-audiencia { color: #fff; background: var(--grafite-azulado); border: 1px solid var(--grafite-azulado); }.botao-acompanhar-audiencia:hover { background: #17242a; }.botao-reagendar-audiencia { color: var(--grafite-azulado); background: #fff; border: 1px solid #9eafb4; }.botao-reagendar-audiencia:hover { color: #fff; background: var(--grafite-azulado); border-color: var(--grafite-azulado); }
.etiqueta-audiencia.reagendada { color: #6b4d12; background: #f5ebca; }.historico-reagendamentos-audiencia { padding: 16px; background: #fffaf0; border: 1px solid #dfcc98; border-left: 4px solid #9a762e; border-radius: 7px; }.historico-reagendamentos-audiencia h3 { margin: 0; color: var(--grafite-profundo); font-size: .92rem; }.historico-reagendamentos-audiencia > p { margin: 4px 0 12px; color: var(--texto-suave); font-size: .76rem; }.historico-reagendamentos-audiencia ol { display: grid; gap: 8px; margin: 0; padding-left: 22px; }.historico-reagendamentos-audiencia li { padding-left: 3px; color: #6b4d12; }.historico-reagendamentos-audiencia li strong, .historico-reagendamentos-audiencia li span { display: block; }.historico-reagendamentos-audiencia li strong { color: var(--texto); font-size: .8rem; }.historico-reagendamentos-audiencia li span { margin-top: 2px; color: var(--texto-suave); font-size: .72rem; }.data-atual-reagendamento { display: flex; justify-content: space-between; gap: 12px; margin-top: 12px; padding-top: 10px; border-top: 1px solid #dfcc98; font-size: .78rem; }.data-atual-reagendamento span { color: var(--texto-suave); }.data-atual-reagendamento strong { color: var(--grafite-azulado); }
@media (max-width: 760px) { .cabecalho-audiencias { align-items: stretch; }.acoes-cabecalho-audiencias { display: grid; grid-template-columns: 1fr; }.acoes-cabecalho-audiencias button { width: 100%; }.cabecalho-calendario-audiencias { align-items: stretch; }.navegacao-mes { justify-content: space-between; }.semana-calendario span { padding: 6px 2px; font-size: .63rem; }.dias-calendario-audiencias { gap: 3px; }.dia-calendario-audiencia { min-height: 72px; padding: 5px; }.resumo-dia-audiencia { font-size: .58rem; }.dia-calendario-audiencia > strong { font-size: .72rem; }.filtros-audiencias { grid-template-columns: 1fr; }.item-audiencia { grid-template-columns: 1fr; gap: 10px; }.horario-audiencia { display: flex; align-items: baseline; gap: 10px; padding: 0; border: 0; }.etapas-audiencia { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 7px; }.etapas-audiencia span { display: grid; gap: 2px; }.etapas-audiencia strong { font-size: .7rem; }.legenda-audiencias { gap: 10px; } }

/* Modalidade no cartão do dia: cada informação ocupa sua própria linha. */
.dia-calendario-audiencia.dia-selecionado { border: 2px solid var(--grafite-profundo); background: #f2f6f7; }
.resumo-dia-audiencia { display: grid; gap: 2px; overflow: hidden; padding: 5px; color: #253940; border-left: 4px solid; border-radius: 3px; font-size: .65rem; line-height: 1.2; }
.resumo-dia-audiencia strong { font-size: .7rem; }.resumo-dia-audiencia small { font-size: .58rem; font-weight: 800; }
.modalidade-virtual { background: #dce7e9; border-color: #40525c; }.modalidade-presencial { background: #e5ecd9; border-color: #466b57; }.modalidade-presencial-virtual { background: #f5ebca; border-color: #9a762e; }

/* Consulta do QO: leitura inicial e preenchimento em painéis independentes. */
.painel-tela-qo[hidden] { display: none !important; }
.abas-qo { display: inline-flex; gap: 5px; padding: 5px; background: #dbe3e5; border: 1px solid var(--borda); border-radius: 10px; }
.abas-qo button { min-height: 44px; padding: 10px 22px; border: 0; background: transparent; color: var(--grafite-azulado); }
.abas-qo button[aria-selected="true"] { background: var(--grafite-azulado); color: #fff; box-shadow: 0 2px 5px #11171b20; }
.abas-qo button:focus-visible, .cartao-consulta-qo summary:focus-visible { outline: 3px solid #78858a; outline-offset: 3px; }
#estado-qo { color: var(--texto-suave); font-size: .82rem; line-height: 1.5; }
.apresentacao-qo { margin: 26px 0 20px; }
.apresentacao-qo h2 { font-size: 1.3rem; }
.apresentacao-qo p { margin: 8px 0; color: var(--texto-suave); line-height: 1.5; }
.indicadores-qo { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; }
.indicadores-qo > div { display: grid; gap: 6px; padding: 20px; background: var(--superficie); border: 1px solid var(--borda); border-radius: 10px; }
.indicadores-qo strong { font-size: 2rem; font-weight: 650; }
.indicadores-qo span { color: var(--texto-suave); font-size: .85rem; }
.indicadores-qo > div:nth-child(2) { background: #fff4d9; border-color: #d7c795; }
.indicadores-qo > div:nth-child(3) { background: #eaf3ec; border-color: #b6cebe; }
.filtros-consulta-qo { display: flex; align-items: end; gap: 24px; margin: 24px 0; }
.filtros-consulta-qo label { display: grid; min-width: 240px; gap: 7px; }
.filtros-consulta-qo p { color: var(--texto-suave); font-size: .82rem; line-height: 1.5; margin: 0 0 4px; }
.consulta-unidades-qo { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); align-items: start; gap: 16px; }
.cartao-consulta-qo { min-width: 0; padding: 23px; border: 1px solid var(--borda); border-top: 4px solid #78858a; border-radius: 10px; background: var(--superficie); box-shadow: 0 3px 10px #11171b06; }
.comando-consulta-qo { grid-column: 1 / -1; border-top-color: var(--grafite-profundo); background: #dfe7ea; }
.local-consulta-qo { margin: 0 0 8px; color: var(--texto-suave); font-size: .76rem; font-weight: 650; }
.cartao-consulta-qo h3 { margin: 0 0 18px; font-size: 1.15rem; }
.totais-consulta-qo { font-size: .82rem; line-height: 1.6; margin: 0 0 10px; }
.cartao-consulta-qo progress { display: block; width: 100%; height: 8px; accent-color: var(--azul-camuflado); border: 0; border-radius: 5px; overflow: hidden; }
.cartao-consulta-qo progress::-webkit-progress-bar { background: #dce2e4; }
.cartao-consulta-qo progress::-webkit-progress-value { background: var(--azul-camuflado); }
.previsao-consulta-qo { color: var(--texto-suave); font-size: .75rem; margin: 8px 0 18px; }
.cartao-consulta-qo summary { min-height: 44px; padding: 13px 0 0; border-top: 1px solid var(--borda); cursor: pointer; color: var(--grafite-azulado); font-size: .84rem; font-weight: 650; }
.grupo-consulta-qo { margin-top: 16px; padding: 14px; border: 1px solid var(--borda); border-radius: 7px; background: #fff9; }
.grupo-consulta-qo h4 { margin: 0 0 14px; }
.grupo-consulta-qo h5 { margin: 16px 0 7px; color: var(--texto-suave); font-size: .74rem; }
.grupo-consulta-qo ul { padding: 0; margin: 0; list-style: none; }
.grupo-consulta-qo li { margin: 5px 0; padding: 8px 10px; font-size: .8rem; overflow-wrap: anywhere; border-radius: 4px; }
.ocupante-consulta-qo { background: #fff0ce; }
.vazias-consulta-qo { color: var(--texto-suave); background: #e9eeee; }
@media (max-width: 700px) {
  .indicadores-qo { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .indicadores-qo > div { padding: 16px; }
  .consulta-unidades-qo { grid-template-columns: minmax(0, 1fr); }
  .filtros-consulta-qo { align-items: stretch; flex-direction: column; gap: 12px; }
  .filtros-consulta-qo label { min-width: 0; }
  .abas-qo { display: flex; }
  .abas-qo button { flex: 1; padding: 10px; }
}

/* Organograma: comando na raiz, unidades irmãs e subdivisões ligadas ao pai. */
.orientacao-organograma-qo { color: var(--texto-suave); font-size: .78rem; line-height: 1.5; }
.janela-organograma-qo { overflow-x: auto; padding: 26px 14px; border: 1px solid var(--borda); border-radius: 12px; background: radial-gradient(#a7b5bc55 1px, transparent 1px) 0 0 / 16px 16px, #f1f5f5; }
.janela-organograma-qo:focus-visible { outline: 3px solid var(--azul-camuflado); outline-offset: 3px; }
.consulta-unidades-qo { display: block; width: max-content; min-width: 100%; }
.arvore-qo, .ramos-organograma-qo, .subdivisoes-organograma-qo { list-style: none; margin: 0; padding: 0; }
.raiz-organograma-qo > .cartao-consulta-qo { width: 300px; margin: 0 auto; position: relative; }
.raiz-organograma-qo > .cartao-consulta-qo::after { content: ''; position: absolute; height: 32px; width: 2px; background: #788e99; left: calc(50% - 1px); top: 100%; }
.ramos-organograma-qo { display: flex; justify-content: center; padding-top: 32px; }
.ramo-organograma-qo { position: relative; flex: 0 0 210px; width: 210px; padding: 28px 8px 0; }
.ramo-organograma-qo::before { content: ''; position: absolute; top: 0; left: 0; right: 0; border-top: 2px solid #788e99; }
.ramo-organograma-qo:first-child::before { left: 50%; }
.ramo-organograma-qo:last-child::before { right: 50%; }
.ramo-organograma-qo::after { content: ''; position: absolute; top: 0; height: 28px; left: calc(50% - 1px); border-left: 2px solid #788e99; }
.ramo-organograma-qo:only-child::before { border: 0; }
.ramo-organograma-qo > .cartao-consulta-qo { min-height: 245px; }
.consulta-unidades-qo .cartao-consulta-qo { padding: 16px 12px; box-shadow: 0 3px 8px #26343c0b; }
.consulta-unidades-qo .comando-consulta-qo { background: #26343c; color: #fff; border-color: #26343c; }
.comando-consulta-qo .local-consulta-qo, .comando-consulta-qo .previsao-consulta-qo, .comando-consulta-qo summary { color: #d9e4e8; }
.comando-consulta-qo .grupo-consulta-qo { color: var(--texto); background: var(--superficie); }
.consulta-unidades-qo .cartao-consulta-qo h3 { font-size: 1rem; margin-bottom: 12px; }
.consulta-unidades-qo .totais-consulta-qo { font-size: .73rem; }
.consulta-unidades-qo summary { min-height: 44px; font-size: .76rem; cursor: pointer; }
.subdivisoes-organograma-qo { margin-left: 12px; }
.subdivisoes-organograma-qo > li { position: relative; padding: 18px 0 0 16px; border-left: 2px solid #788e99; }
.subdivisoes-organograma-qo > li::before { content: ''; position: absolute; left: 0; top: 42px; width: 16px; border-top: 2px solid #788e99; }
.subdivisoes-organograma-qo > li:last-child { border-left-color: transparent; }
.subdivisoes-organograma-qo > li:last-child::after { content: ''; position: absolute; left: -2px; top: 0; height: 42px; border-left: 2px solid #788e99; }
.subdivisoes-organograma-qo .grupo-consulta-qo { margin: 0; padding: 12px; background: #fff; border-top: 3px solid #9aacb4; }
.subdivisoes-organograma-qo h4 { font-size: .88rem; margin: 0 0 8px; }
.subdivisoes-organograma-qo summary { padding-top: 10px; border-top: 1px solid var(--borda); }
.subdivisoes-organograma-qo summary:focus-visible { outline: 3px solid var(--azul-camuflado); outline-offset: 2px; }
.consulta-unidades-qo .grupo-consulta-qo li { padding: 7px; font-size: .75rem; }
@media (max-width: 700px) { .janela-organograma-qo { padding: 20px 8px; }.raiz-organograma-qo > .cartao-consulta-qo { width: 260px; } }
/* Indicadores compactos deixam o organograma em primeiro plano. */
#painel-qo-atual .indicadores-qo > div { padding: 11px 16px; display: flex; align-items: baseline; gap: 10px; }
#painel-qo-atual .indicadores-qo strong { font-size: 1.4rem; }
#painel-qo-atual .indicadores-qo span { font-size: .76rem; }
@media (max-width: 700px) { #painel-qo-atual .indicadores-qo > div { flex-wrap: wrap; gap: 4px 8px; } }

/* Organograma nominal: cabeçalhos e ocupantes, sem resumo de vagas. */
.ramo-organograma-qo > .cartao-consulta-qo { min-height: 0; }
.consulta-unidades-qo .cartao-consulta-qo h3, .subdivisoes-organograma-qo h4 { margin: 0; }
.nomes-organograma-qo { list-style: none; padding: 0; margin: 12px 0 0; }
.consulta-unidades-qo .nomes-organograma-qo li { margin: 0; padding: 7px 0; border-top: 1px solid #cbd2d4; font-size: .78rem; line-height: 1.5; overflow-wrap: anywhere; }
.comando-consulta-qo .nomes-organograma-qo li { border-color: #ffffff35; }
.cargo-vago-organograma-qo { margin: 12px 0 0; color: #d9e4e8; font-size: .82rem; }

/* Histórico administrativo: resumo visível e diferenças sob demanda. */
.filtros-auditoria { display: grid; grid-template-columns: repeat(auto-fit, minmax(180px, 1fr)); gap: 14px; align-items: end; }
.filtros-auditoria label { display: grid; gap: 6px; }
.lista-auditoria { display: grid; gap: 14px; }
.evento-auditoria { border: 1px solid var(--borda); border-radius: 10px; padding: 16px; overflow-wrap: anywhere; }
.evento-auditoria h3 { margin: 0 0 8px; font-size: 1rem; }
.evento-auditoria summary { cursor: pointer; min-height: 44px; display: flex; align-items: center; }
.evento-auditoria summary:focus-visible { outline: 3px solid var(--azul-camuflado); }
.referencia-auditoria { font-size: .8rem; color: var(--texto-secundario, #56636b); }
.rolagem-auditoria { overflow-x: auto; }
.tabela-auditoria { width: 100%; border-collapse: collapse; min-width: 440px; }
.tabela-auditoria caption { text-align: left; padding: 8px 0; }
.tabela-auditoria th, .tabela-auditoria td { text-align: left; vertical-align: top; border-bottom: 1px solid var(--borda); padding: 10px; white-space: normal; overflow-wrap: anywhere; max-width: 300px; }
.paginacao-auditoria { display: flex; gap: 12px; align-items: center; justify-content: center; flex-wrap: wrap; margin-top: 16px; }

.atalhos-administracao { display: flex; flex-wrap: wrap; gap: 20px; margin: 0 0 24px; }
.atalhos-administracao a { padding: 12px 0; }
.lista-vinculos-oidc { display: grid; grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); gap: 14px; }
.cartao-solicitacao-oidc { overflow-wrap: anywhere; }
.cartao-solicitacao-oidc h3 { margin: 0; font-size: 1rem; }
.conteudo-escalas { width: min(1600px, 100%); padding-top: 20px; }
.conteudo-escalas > .cabecalho-pagina { align-items: center; margin-bottom: 12px; }
.conteudo-escalas > .cabecalho-pagina .sobretitulo { margin-bottom: 2px; }
.conteudo-escalas > .cabecalho-pagina .descricao { margin-top: 2px; font-size: .84rem; }
.voltar-lista-escalas { margin: 0 0 9px; padding: 4px 0; border: 0; background: transparent; color: var(--azul-camuflado); font-size: .78rem; font-weight: 700; cursor: pointer; }
.voltar-lista-escalas:hover { text-decoration: underline; }
.voltar-lista-escalas:focus-visible { outline: 3px solid var(--azul-camuflado); outline-offset: 3px; }
.voltar-lista-escalas[hidden] { display: none; }
.conteudo-escalas[data-visao="inicio"] :is(.etapas-fluxo-escala, #montagem-escala, #abrir-catalogo-escala, #salvar-escala, #marcar-pronta-escala, #visualizar-escala) { display: none !important; }
.conteudo-escalas[data-visao="detalhe"] :is(.atalhos-catalogos-escala, .cartao-escalas-salvas, .cabecalho-inicio-escala, .proximos-passos-escala, .inicio-escala > label, #gerar-escala, #ver-escalas-salvas, #abrir-padroes-escala) { display: none !important; }
.conteudo-escalas[data-visao="detalhe"] > details.painel-auxiliar-escala:not([open]) { display: none; }
.conteudo-escalas[data-visao="detalhe"] .cartao-nova-escala { grid-template-columns: 1fr; padding: 11px 16px; border-color: var(--borda); background: #fff; }
.conteudo-escalas[data-visao="detalhe"] .contexto-inicio-escala { margin-top: 9px; }
.conteudo-escalas > .cartao { margin-top: 12px; }
.cartao-nova-escala { padding: 14px 20px; }
.titulo-inicio-escala { min-width: 142px; }
.titulo-inicio-escala p { margin: 2px 0 0; color: var(--texto-suave); font-size: .74rem; }
.contexto-inicio-escala { display: flex; flex-wrap: wrap; align-items: center; gap: 5px 16px; margin-top: 8px; padding-top: 8px; border-top: 1px solid #e1e6e8; }
.contexto-inicio-escala .descricao { margin: 0; font-size: .75rem; }
.detalhes-padrao-escala { color: var(--texto-suave); font-size: .74rem; }
.detalhes-padrao-escala summary { cursor: pointer; text-decoration: underline; text-underline-offset: 2px; }
.detalhes-padrao-escala .descricao { max-width: 600px; padding: 5px 0; }
.acoes-principais-escala, .acoes-apoio-escala { display: flex; flex-wrap: wrap; align-items: end; gap: 8px; }
.barra-catalogo-escala { position: sticky; top: 0; z-index: 30; display: flex; justify-content: flex-end; align-items: center; min-height: 52px; padding: 4px 0; background: var(--fundo); border-bottom: 1px solid #d0dadd; }
.barra-catalogo-escala[hidden] { display: none; }
.botao-catalogo-escala { min-height: 44px; color: #fff; background: var(--grafite-azulado); border-color: var(--grafite-profundo); border-radius: 8px; box-shadow: 0 4px 10px #11171b20; }
.botao-catalogo-escala:hover { background: var(--grafite-profundo); }
.botao-catalogo-escala:focus-visible { outline: 3px solid #c69526; outline-offset: 2px; }
.acoes-apoio-escala { margin-left: auto; }
.acoes-apoio-escala button { min-height: 36px; padding: 7px 11px; font-size: .76rem; }
.cartao-nova-escala.montagem-ativa #gerar-escala { color: var(--grafite-azulado); background: #fff; border: 1px solid var(--cinza-frio); }
.cartao-nova-escala.montagem-ativa #salvar-escala:not(:disabled) { background: #225b45; border-color: #225b45; }
.painel-auxiliar-escala { padding: 0; overflow: hidden; }
.painel-auxiliar-escala > summary { display: flex; align-items: center; gap: 12px; min-height: 54px; padding: 12px 18px; list-style: none; cursor: pointer; }
.painel-auxiliar-escala > summary::-webkit-details-marker { display: none; }
.painel-auxiliar-escala > summary::before { content: '›'; color: var(--azul-camuflado); font-size: 1.35rem; font-weight: 700; line-height: 1; transition: transform .15s ease; }
.painel-auxiliar-escala[open] > summary::before { transform: rotate(90deg); }
.painel-auxiliar-escala > summary:hover { background: #edf2f3; }
.painel-auxiliar-escala > summary:focus-visible, .detalhes-padrao-escala summary:focus-visible { outline: 3px solid var(--azul-camuflado); outline-offset: -3px; }
.painel-auxiliar-escala > summary span { color: var(--grafite-profundo); font-size: .97rem; font-weight: 800; }
.painel-auxiliar-escala > summary small { margin-left: auto; color: var(--texto-suave); font-size: .73rem; font-weight: 600; }
.conteudo-painel-auxiliar { padding: 0 18px 18px; border-top: 1px solid var(--borda); }
.descricao-introducao-painel { margin: 12px 0; color: var(--texto-suave); font-size: .78rem; }
.cabecalho-painel-auxiliar { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 8px; margin: 12px 0; }
.cabecalho-painel-auxiliar p { margin: 0; color: var(--texto-suave); font-size: .78rem; }
.cabecalho-painel-auxiliar button { min-height: 36px; }
.descartar-rascunho-escala { padding: 0; color: #8c3838; background: transparent; border: 0; font-size: .75rem; font-weight: 700; text-decoration: underline; cursor: pointer; }
.descartar-rascunho-escala[hidden] { display: none; }
.montagem-escala { display: grid; grid-template-columns: minmax(0, 1fr) 270px; align-items: start; gap: 12px; }
.montagem-escala[hidden] { display: none; }
.montagem-escala-secoes { display: grid; min-width: 0; gap: 12px; }
.montagem-escala-secoes > .cartao { min-width: 0; margin: 0; }
.montagem-escala-secoes :is(.secoes-policiamento, .secoes-escolta, .secoes-atividades-escala) > .cartao { scroll-margin-top: 68px; }
@media (max-width: 760px) { .barra-catalogo-escala { min-height: 52px; padding-inline: 4px; }.botao-catalogo-escala { max-width: calc(100vw - 32px); } }
.cabecalho-comando-escala { padding: 14px 18px; }
.cabecalho-comando-escala h2 { margin: 0; font-size: 1rem; }
.cabecalho-comando-escala p { margin: 3px 0 0; font-size: .78rem; color: var(--texto-suave); }
.campos-cabecalho-comando { display: grid; grid-template-columns: minmax(0, 2fr) minmax(150px, 1fr); gap: 10px; margin-top: 10px; }
.campos-cabecalho-comando label { display: grid; gap: 4px; font-size: .75rem; font-weight: 700; }
.campos-cabecalho-comando :is(input, select) { width: 100%; min-width: 0; min-height: 36px; }
.campos-cabecalho-comando #nome-responsavel-comando { text-transform: uppercase; }
.cabecalho-comando-escala .resumo-responsavel-comando { margin-top: 9px; padding: 7px 10px; border-left: 3px solid var(--grafite-azulado); background: #edf1f2; color: var(--grafite-azulado); font-weight: 700; white-space: pre-line; }
@media (max-width: 640px) { .campos-cabecalho-comando { grid-template-columns: 1fr; } }
.marcador-insercao-escala { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 2px 12px; padding: 6px 10px; color: var(--grafite-azulado); background: #eef3f4; border-left: 3px solid var(--azul-camuflado); border-radius: 4px; font-size: .72rem; }
.marcador-insercao-escala span { font-weight: 800; }
.marcador-insercao-escala small { color: var(--texto-suave); font-size: .7rem; }
.marcador-atividades-escala { border-left-color: #677b42; background: #f1f4e9; }
.marcador-atividades-escala > div { display: grid; gap: 2px; }
.marcador-atividades-escala button { min-height: 32px; padding: 5px 9px; font-size: .7rem; }
.editor-escolta .horarios-operacao-policiamento { max-width: 520px; grid-template-columns: repeat(2, minmax(0, 1fr)); }
.secoes-policiamento { display: grid; min-width: 0; gap: 12px; }
.secoes-policiamento:empty { display: none; }
.secoes-policiamento > .cartao { min-width: 0; margin: 0; }
.modal-padroes-escala.catalogo-escala { width: min(850px, calc(100% - 24px)); }
.conteudo-catalogo-escala { display: grid; gap: 14px; padding: 20px; }
.conteudo-catalogo-escala .cabecalho-cartao { align-items: start; margin: 0; }
.conteudo-catalogo-escala .cabecalho-cartao h2 { margin: 1px 0 4px; }
.conteudo-catalogo-escala .cabecalho-cartao p { margin: 0; font-size: .78rem; }
.busca-catalogo-escala { display: grid; gap: 5px; font-size: .78rem; font-weight: 700; }
.busca-catalogo-escala input { width: 100%; min-height: 44px; }
.grupo-catalogo-escala { display: grid; gap: 8px; }
.grupo-catalogo-escala[hidden], .opcoes-catalogo-escala button[hidden], #vazio-catalogo-escala[hidden] { display: none; }
.grupo-catalogo-escala h3 { display: flex; align-items: baseline; flex-wrap: wrap; gap: 4px 10px; margin: 0; color: var(--grafite-profundo); font-size: .95rem; }
.grupo-catalogo-escala h3 small { color: var(--texto-suave); font-size: .73rem; font-weight: 600; }
.opcoes-catalogo-escala { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
.grupo-catalogo-escala:last-of-type .opcoes-catalogo-escala { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.opcoes-catalogo-escala button { display: grid; grid-template-columns: 42px minmax(0, 1fr); align-content: start; gap: 4px 10px; min-height: 105px; padding: 12px; text-align: left; color: var(--grafite-profundo); background: #fff; border: 1px solid #b8c7cd; border-radius: 6px; }
.opcoes-catalogo-escala button img { grid-column: 1; grid-row: 1 / span 3; align-self: start; width: 42px; height: 42px; object-fit: contain; }
.opcoes-catalogo-escala button :is(strong, span, small) { grid-column: 2; }
.opcoes-catalogo-escala button:hover { border-color: var(--azul-camuflado); background: #f2f7f9; }
.opcoes-catalogo-escala button:focus-visible { outline: 3px solid #c69526; outline-offset: 2px; }
.opcoes-catalogo-escala button strong { font-size: .85rem; }
.opcoes-catalogo-escala button span { color: var(--texto-suave); font-size: .73rem; line-height: 1.35; }
.opcoes-catalogo-escala button small { align-self: end; color: #365a6d; font-size: .69rem; font-weight: 800; }
.rodape-catalogo-escala { margin: 0; padding: 9px 11px; color: var(--grafite-azulado); background: #edf2f4; border-radius: 4px; font-size: .74rem; }
@media (max-width: 700px) { .grupo-catalogo-escala:last-of-type .opcoes-catalogo-escala { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 520px) { .conteudo-catalogo-escala { padding: 14px; }.opcoes-catalogo-escala, .grupo-catalogo-escala:last-of-type .opcoes-catalogo-escala { grid-template-columns: 1fr; }.opcoes-catalogo-escala button { min-height: 0; } }
.secoes-atividades-escala { display: grid; min-width: 0; gap: 12px; }
.secoes-atividades-escala:empty { display: none; }
.secoes-atividades-escala > .cartao { min-width: 0; margin: 0; }
.editor-atividade-escala .cabecalho-cartao { padding-bottom: 10px; border-bottom: 1px solid var(--borda); }
.editor-atividade-escala .sobretitulo { margin-bottom: 2px; color: #677b42; font-size: .66rem; }
.editor-atividade-escala .alternar-atividade-pronta:not([aria-pressed="true"]) { color: #fff; background: var(--grafite-azulado); border-color: var(--grafite-azulado); }
.editor-atividade-escala .remover-atividade-escala { color: #8c3838; background: transparent; border-color: transparent; }
.editor-atividade-escala .remover-atividade-escala:hover { background: #fff0ee; }
.dados-atividade { display: grid; grid-template-columns: minmax(220px, 2fr) minmax(130px, 1fr); align-items: end; gap: 8px; margin: 12px 0; }
.editor-atividade-escala[data-tipo="aula"] .dados-atividade { grid-template-columns: minmax(0, 1fr); }
.dados-atividade .descricao { grid-column: 1 / -1; margin: 0; color: var(--texto-suave); font-size: .72rem; }
.dados-audiencia-manual { display: grid; grid-template-columns: minmax(220px, 2fr) minmax(130px, 1fr); gap: 8px; }
.dados-audiencia-manual[hidden] { display: none; }
@media (max-width: 760px) { .dados-audiencia-manual { grid-template-columns: 1fr; } }
.horario-geral-atividade { grid-column: 1 / -1; width: fit-content; }
.horario-geral-atividade summary { color: var(--grafite-azulado); font-size: .72rem; font-weight: 700; cursor: pointer; }
.horario-geral-atividade .campo-horario-policiamento { width: min(240px, 100%); margin-top: 6px; }
.cabecalho-participantes-atividade { display: flex; align-items: center; justify-content: space-between; gap: 10px; margin: 14px 0 8px; padding-top: 10px; border-top: 1px solid var(--borda); }
.cabecalho-participantes-atividade h3 { margin: 0; color: var(--grafite-profundo); font-size: .78rem; }
.cabecalho-participantes-atividade button { min-height: 33px; padding: 5px 10px; font-size: .75rem; }
.cabecalho-participantes-atividade button[hidden] { display: none; }
.participantes-atividade { display: grid; gap: 7px; }
.participante-atividade { display: grid; grid-template-columns: 27px minmax(0, 1fr) auto; align-items: start; gap: 8px; padding: 9px 10px; background: #f7f9f8; border: 1px solid var(--borda); border-radius: 6px; }
.indice-participante-atividade { display: grid; place-items: center; width: 25px; height: 25px; margin-top: 19px; color: var(--grafite-azulado); background: #e4ebed; border-radius: 50%; font-size: .65rem; font-weight: 800; }
.participante-atividade > .escolha-militar-escala { grid-column: 2; min-width: 0; }
.participante-atividade .escolha-militar-escala[data-militar-id] { grid-template-columns: minmax(0, 1fr) auto; }
.participante-atividade .limpar-militar-escala, .participante-atividade .escolha-militar-escala[data-militar-id] > .limpar-militar-escala { display: none; }
.participante-atividade > .remover-participante-atividade { grid-column: 3; margin-top: 15px; color: #8c3838; background: #fff; border-color: #d6bbbb; font-size: .73rem; }
.participante-atividade > .remover-participante-atividade:hover { background: #fff0ee; }
.participante-atividade button[hidden] { display: none !important; }
.participante-atividade .campos-horario-militar { padding: 7px; background: #edf2f0; }
.editor-atividade-escala[data-tipo="aula"] .cabecalho-participantes-atividade { margin-top: 8px; padding-top: 8px; }
.editor-atividade-escala[data-tipo="aula"] .participantes-atividade { grid-template-columns: repeat(auto-fit, minmax(min(100%, 470px), 1fr)); gap: 6px; align-items: start; }
.editor-atividade-escala[data-tipo="aula"] .participante-atividade { grid-template-columns: 24px minmax(0, 1fr) auto; align-items: center; gap: 6px; padding: 5px 7px; background: #fff; border-radius: 4px; }
.editor-atividade-escala[data-tipo="aula"] .indice-participante-atividade { width: 22px; height: 22px; margin-top: 0; }
.editor-atividade-escala[data-tipo="aula"] .participante-atividade .escolha-militar-escala { grid-template-columns: minmax(0, 1fr) 112px; align-items: end; gap: 4px; }
.editor-atividade-escala[data-tipo="aula"] .participante-atividade .escolha-militar-escala > .campo-celula-escala { grid-column: 1; grid-row: 1; }
.editor-atividade-escala[data-tipo="aula"] .participante-atividade .botao-horario-militar { grid-column: 2; grid-row: 1; min-height: 31px; }
.editor-atividade-escala[data-tipo="aula"] .participante-atividade :is(.resumo-horario-militar, .campos-horario-militar, .campos-militar-externo) { grid-column: 1 / -1; }
.editor-atividade-escala[data-tipo="aula"] .participante-atividade > .remover-participante-atividade { grid-column: 3; align-self: start; min-height: 31px; margin-top: 17px; }
@media (max-width: 760px) {
  .editor-atividade-escala[data-tipo="aula"] .participantes-atividade { grid-template-columns: minmax(0, 1fr); }
  .editor-atividade-escala[data-tipo="aula"] .participante-atividade { grid-template-columns: 24px minmax(0, 1fr); }
  .editor-atividade-escala[data-tipo="aula"] .participante-atividade .escolha-militar-escala { grid-template-columns: minmax(0, 1fr) 90px; }
  .editor-atividade-escala[data-tipo="aula"] .participante-atividade > .remover-participante-atividade { grid-column: 2; justify-self: end; min-height: 36px; margin-top: 0; }
}
.compositor-recurso-ordem { margin-top: 16px; padding: 12px; background: #eef3f4; border: 1px solid var(--borda); border-radius: 7px; }
.compositor-recurso-ordem h3 { margin: 0; font-size: .85rem; }
.compositor-recurso-ordem > p { margin: 3px 0 10px; color: var(--texto-suave); font-size: .72rem; }
.compositor-recurso-ordem .tabela-escala-container { margin-top: 10px; }
.tabela-conferencia-atividade { min-width: 0; }
.tabela-conferencia-escala.tabela-conferencia-atividade th:first-child { width: auto; }
.tabela-conferencia-atividade .nomes-expediente-pronto { justify-content: center; }
.lista-audiencias-atividade { display: grid; gap: 5px; grid-column: 1 / -1; max-height: 190px; overflow-y: auto; padding: 8px; background: #f4f7f7; border: 1px solid var(--borda); border-radius: 6px; }
.lista-audiencias-atividade[hidden] { display: none; }
.lista-audiencias-atividade label { display: flex; align-items: center; gap: 9px; min-height: 34px; padding: 5px 7px; background: #fff; border: 1px solid #d7e0e2; border-radius: 4px; font-size: .78rem; cursor: pointer; }
.lista-audiencias-atividade input { width: 17px; height: 17px; flex: 0 0 auto; }
.identificacao-participante-audiencia { grid-column: 2; color: var(--texto-suave); font-size: .72rem; font-weight: 700; }
.participante-atividade > .identificacao-participante-audiencia + .escolha-militar-escala { grid-row: 2; }
.tabela-conferencia-audiencias .nomes-expediente-pronto { align-items: center; gap: 2px 0; }
.tabela-conferencia-audiencias .nome-expediente-pronto { display: inline-flex; flex-direction: column; align-items: center; gap: 1px; padding: 2px 8px; border-right: 1px solid #b9c3c7; white-space: nowrap; }
.tabela-conferencia-audiencias .nome-expediente-pronto:last-child { border-right: 0; }
.tabela-conferencia-audiencias .nome-expediente-pronto small { font-size: .68rem; font-weight: 700; }
@media (max-width: 760px) { .dados-atividade { grid-template-columns: 1fr; }.dados-atividade .descricao { grid-column: 1; }.participante-atividade { grid-template-columns: 23px minmax(0, 1fr); }.participante-atividade > .remover-participante-atividade { grid-column: 2; justify-self: start; margin-top: 0; } }
.dados-policiamento { display: grid; grid-template-columns: minmax(240px, 2fr) minmax(320px, 3fr); gap: 8px 12px; margin: 8px 0 10px; }
.horarios-operacao-policiamento { display: grid; grid-column: 1 / -1; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 8px; }
.grupo-ordem-policiamento { display: grid; gap: 2px; min-width: 0; }
.grupo-ordem-policiamento a { width: fit-content; color: var(--grafite-azulado); font-size: .7rem; font-weight: 700; }
.resumo-horario-policiamento { min-height: 1em; color: var(--grafite-azulado); font-size: .69rem; font-weight: 700; }
.formulario-ordem-servico-escala { display: flex; flex-wrap: wrap; align-items: end; gap: 8px; }
.formulario-ordem-servico-escala label { display: grid; flex: 1 1 320px; gap: 4px; font-size: .78rem; font-weight: 700; }
.formulario-ordem-servico-escala input { width: 100%; }
.edicao-ordens-vigentes { display: grid; gap: 10px; }
.edicao-ordens-vigentes[hidden] { display: none; }
.edicao-ordens-vigentes > .descricao { margin: 0; }
.adicionar-ordem-vigente { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: end; gap: 5px 8px; }
.adicionar-ordem-vigente label { grid-column: 1 / -1; font-size: .76rem; font-weight: 700; }
.adicionar-ordem-vigente select { min-width: 0; }
.adicionar-ordem-vigente input { min-width: 0; }
.adicionar-ordem-vigente button { min-height: 40px; }
.adicionar-ordem-manual-vigente { margin-top: 4px; }
.entrada-ordem-manual { margin-top: 6px; width: 100%; }
.entrada-ordem-manual[hidden] { display: none; }
.adicionar-ordem-vigente a { grid-column: 1 / -1; justify-self: start; color: var(--grafite-azulado); font-size: .74rem; font-weight: 700; }
.lista-ordens-vigentes { display: grid; gap: 6px; margin: 0; padding: 0; list-style: none; }
.lista-ordens-vigentes li { display: flex; align-items: center; justify-content: space-between; gap: 12px; min-width: 0; padding: 8px 10px; border: 1px solid var(--borda); border-radius: 5px; background: #f7f9f9; font-size: .8rem; }
.lista-ordens-vigentes strong { min-width: 0; overflow-wrap: anywhere; }
.lista-ordens-vigentes button { flex: none; padding: 5px 9px; font-size: .72rem; }
.tabela-conferencia-escala.tabela-conferencia-ordens-vigentes { min-width: 0; }
.tabela-conferencia-ordens-vigentes tbody td { padding: 6px 8px; text-align: left; font-weight: 700; }
@media (max-width: 600px) { .adicionar-ordem-vigente { grid-template-columns: 1fr; }.adicionar-ordem-vigente button { min-height: 44px; }.lista-ordens-vigentes button { min-height: 44px; } }
.dados-policiamento[hidden] { display: none; }
.tabela-supervisao select[aria-invalid="true"] { border-color: #b96711; box-shadow: 0 0 0 2px #f7d9a2; }
.balao-vtr-escala { position: fixed; z-index: 120; max-width: min(280px, calc(100vw - 24px)); padding: 9px 12px; color: #fff; background: #713b08; border-radius: 6px; box-shadow: 0 8px 22px #172e3a44; font-size: .78rem; font-weight: 700; line-height: 1.35; pointer-events: none; }
.tabela-policiamento .linha-recurso-policiamento > :is(th, td), .tabela-policiamento .cabecalho-grupo-policiamento th { background: #fff69a; }
.tabela-policiamento .cabecalho-grupo-policiamento th { padding: 5px 8px; }
.tabela-ordem-pontual .remover-cabecalho-ordem { display: block; margin-top: 6px; padding: 4px 7px; font-size: .68rem; white-space: nowrap; }
.restaurar-cabecalho-ordem { margin: 0 0 8px; padding: 5px 8px; font-size: .72rem; }
.restaurar-cabecalho-ordem[hidden] { display: none; }
.tabela-policiamento .editar-funcoes-bloco { display: block; margin-top: 5px; padding: 3px 7px; font-size: .7rem; }
.tabela-policiamento .adicionar-funcao-viatura { margin-top: 6px; color: var(--grafite-azulado); background: #fff; }
.funcao-adicional-viatura th .campo-celula-escala { margin: 0 0 6px; }
.funcao-adicional-viatura th :is(select, input) { width: 100%; }
.grupo-equipe-policiamento .nome-outra-funcao-policiamento { width: 100%; }
.funcao-adicional-viatura .outra-funcao-viatura[hidden] { display: none; }
.funcao-adicional-viatura .remover-funcao-viatura { margin-top: 3px; }
.modal-padroes-escala.modal-funcoes-policiamento { width: min(460px, calc(100% - 24px)); }
.modal-funcoes-policiamento .conteudo-padroes-escala { padding: 22px; gap: 12px; }
.modal-funcoes-policiamento h2 { margin: 0; font-size: 1.15rem; }
.modal-funcoes-policiamento p { margin: 6px 0 0; color: var(--texto-suave); line-height: 1.45; }
.modal-funcoes-policiamento label { display: grid; gap: 5px; }
.modal-funcoes-policiamento input { width: 100%; }
.cabecalho-grupo-policiamento th > :is(strong, label, button) { display: inline-flex; vertical-align: middle; margin: 2px 8px 2px 0; }
.cabecalho-grupo-policiamento label { min-width: 210px; }
.cabecalho-grupo-policiamento input { width: 100%; }
.tabela-policiamento .alca-reordenar-bloco { display: inline-flex; align-items: center; min-height: 28px; margin: 2px 7px 2px 0; padding: 3px 7px; color: #244453; background: #fff; border: 1px solid #78909c; border-radius: 4px; font-size: .68rem; font-weight: 700; white-space: nowrap; cursor: grab; }
.tabela-policiamento .alca-reordenar-bloco:active { cursor: grabbing; }
.tabela-policiamento .alca-reordenar-bloco:focus-visible { outline: 2px solid #244453; outline-offset: 2px; }
.tabela-policiamento tbody.bloco-em-arrasto { opacity: .55; }
.tabela-policiamento tbody.destino-bloco-antes > tr:first-child > * { box-shadow: inset 0 3px #28708d; }
.tabela-policiamento tbody.destino-bloco-depois > tr:last-child > * { box-shadow: inset 0 -3px #28708d; }
.acoes-blocos-policiamento { display: grid; gap: 6px; margin: 8px 0 4px; padding: 9px 11px; background: #eef3f4; border: 1px solid var(--borda); border-radius: 6px; }
.acoes-blocos-policiamento[hidden], .estado-blocos-policiamento[hidden] { display: none; }
.titulo-blocos-policiamento { margin: 0; color: var(--grafite-azulado); font-size: .72rem; font-weight: 800; text-transform: uppercase; letter-spacing: .03em; }
.opcoes-blocos-policiamento { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; }
.opcoes-blocos-policiamento button { display: grid; grid-template-columns: 24px minmax(0, 1fr); gap: 1px 9px; min-width: 0; min-height: 58px; padding: 9px 11px; color: var(--grafite-profundo); background: #fff; border: 1px solid #b6c6cd; border-radius: 6px; text-align: left; }
.opcoes-blocos-policiamento button::before { display: grid; width: 22px; height: 22px; grid-row: 1 / 3; align-self: center; place-items: center; border-radius: 50%; color: #fff; background: var(--azul-camuflado); font-size: .98rem; font-weight: 700; content: '+'; }
.opcoes-blocos-policiamento button strong { min-width: 0; font-size: .76rem; line-height: 1.25; }
.opcoes-blocos-policiamento button small { color: var(--texto-suave); font-size: .68rem; line-height: 1.2; }
.opcoes-blocos-policiamento button:hover { color: var(--grafite-profundo); background: #e6f0f3; border-color: var(--azul-camuflado); }
.opcoes-blocos-policiamento button:focus-visible { outline: 3px solid #40525c77; outline-offset: 2px; }
.estado-blocos-policiamento { margin: 2px 0 8px; color: var(--texto-suave); font-size: .72rem; }
.detalhes-conferencia-policiamento th { padding: 6px 8px; text-align: left !important; font-weight: 600; }
.horarios-conferencia-policiamento th { text-align: center !important; text-transform: uppercase; }
@media (max-width: 900px) { .horarios-operacao-policiamento { grid-template-columns: repeat(auto-fit, minmax(130px, 1fr)); } }
@media (max-width: 900px) { .opcoes-blocos-policiamento { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 760px) { .dados-policiamento { grid-template-columns: minmax(0, 1fr); }.horarios-operacao-policiamento { grid-column: 1; } }
@media (max-width: 520px) { .opcoes-blocos-policiamento { grid-template-columns: minmax(0, 1fr); } }
@media (max-width: 520px) { .editor-escolta .horarios-operacao-policiamento { grid-template-columns: 1fr; } }
.painel-nao-escalados { position: sticky; top: 12px; display: flex; flex-direction: column; max-height: calc(100vh - 24px); min-width: 0; margin: 0; padding: 16px; }
.painel-nao-escalados h2 { margin: 0 0 5px; font-size: 1rem; }
.resumo-nao-escalados { margin: 0 0 7px; color: var(--grafite-azulado); font-size: .78rem; font-weight: 700; }
.filtros-situacao-escala { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 5px; margin-bottom: 9px; }
.filtros-situacao-escala button { display: flex; align-items: center; justify-content: space-between; gap: 5px; min-width: 0; padding: 5px 7px; border: 1px solid #9caab0; border-radius: 5px; color: #263a44; background: #f3f6f7; font-size: .7rem; font-weight: 700; line-height: 1.15; cursor: pointer; }
.filtros-situacao-escala button strong { font-size: .76rem; }
.filtros-situacao-escala button[data-filtro="escalado"] { color: #245d3d; background: #e7f2ea; border-color: #83b194; }
.filtros-situacao-escala button[data-filtro="nao-escalado"] { color: #31566b; background: #e8f1f6; border-color: #92b2c3; }
.filtros-situacao-escala button[data-filtro="indisponivel"] { color: #8b3b2d; background: #fff0eb; border-color: #d39a8c; }
.filtros-situacao-escala button[aria-pressed="true"] { border-width: 2px; box-shadow: inset 0 0 0 1px currentColor; }
.filtros-situacao-escala button:focus-visible { outline: 2px solid var(--grafite-azulado); outline-offset: 2px; }
.filtros-situacao-escala button:disabled { cursor: wait; opacity: .6; }
.busca-nao-escalados { display: grid; gap: 3px; margin-bottom: 7px; color: var(--texto-suave); font-size: .73rem; font-weight: 700; }
.busca-nao-escalados input { min-width: 0; padding: 6px 8px; }
.lista-nao-escalados { min-height: 0; margin: 0; padding: 0; overflow-y: auto; list-style: none; }
.lista-nao-escalados li { padding: 5px 0; border-bottom: 1px solid var(--borda); font-size: .76rem; line-height: 1.25; }
.lista-nao-escalados li:last-child { border-bottom: 0; }
.lista-nao-escalados .militar-situacao-escala { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: center; gap: 2px 6px; margin: 2px 0; padding: 6px 7px; border-left: 3px solid; border-radius: 4px; }
.militar-situacao-escalado { color: #245d3d; background: #edf6ef; border-left-color: #4b9666; }
.militar-situacao-nao-escalado { color: #31566b; background: #eef4f7; border-left-color: #6e9cb2; }
.militar-situacao-indisponivel { color: #8b3b2d; background: #fff2ee; border-left-color: #bf705e; }
.etiqueta-situacao-escala { font-size: .63rem; font-weight: 800; white-space: nowrap; }
.aviso-conflito-escala { grid-column: 1 / -1; color: #8b3b2d; font-size: .67rem; }
.lista-nao-escalados .estado-vazio-nao-escalados { color: var(--texto-suave); }
.ajuda-nao-escalados { margin-top: 8px; font-size: .72rem; }
.ajuda-nao-escalados p { margin: 5px 0 0; color: var(--texto-suave); line-height: 1.35; }
@media (max-width: 1250px) { .montagem-escala { grid-template-columns: minmax(0, 1fr); }.painel-nao-escalados { position: static; max-height: 300px; order: -1; } }
.inicio-escala { display: flex; flex-wrap: wrap; align-items: end; gap: 8px 12px; }
.inicio-escala label { min-width: 190px; }
.inicio-escala button { min-height: 40px; }
.inicio-escala input { min-height: 40px; }
@media (max-width: 1050px) { .acoes-apoio-escala { margin-left: 0; } }
@media (max-width: 600px) { .titulo-inicio-escala { width: 100%; }.inicio-escala > label { flex: 1 1 100%; }.inicio-escala > label input { width: 100%; }.acoes-principais-escala, .acoes-apoio-escala { width: 100%; }.acoes-principais-escala button { flex: 1 1 145px; }.acoes-apoio-escala button { flex: 1 1 130px; }.painel-auxiliar-escala > summary { padding: 12px 14px; }.conteudo-painel-auxiliar { padding: 0 14px 14px; } }
.botao-secundario-escala { color: var(--grafite-azulado); background: #fff; border: 1px solid var(--cinza-frio); }
.modal-padroes-escala { width: min(650px, calc(100% - 24px)); max-height: calc(100dvh - 24px); padding: 0; overflow-y: auto; border: 0; border-radius: 8px; box-shadow: 0 18px 55px #0006; }
.modal-padroes-escala::backdrop { background: #11171bb8; }
.modal-duplicidade-escala { width: min(440px, calc(100% - 24px)); }
.modal-duplicidade-escala p { margin: 8px 0 0; color: var(--texto-suave); line-height: 1.45; }
.modal-confirmacao-abertura { width: min(480px, calc(100% - 24px)); }
.modal-confirmacao-abertura .conteudo-padroes-escala { padding: 24px; }
.modal-confirmacao-abertura h2 { margin: 0; color: var(--grafite-profundo); font-size: 1.2rem; }
.modal-confirmacao-abertura p { margin: 10px 0 0; color: var(--texto-suave); line-height: 1.5; }
.modal-confirmacao-abertura strong { color: var(--grafite-profundo); }
.modal-confirmacao-abertura button { min-height: 44px; }
.modal-confirmacao-abertura.modo-descarte #abrir-confirmar-abertura { color: #fff; background: #a53131; border-color: #a53131; }
.modal-confirmacao-remocao { width: min(460px, calc(100% - 24px)); }
.modal-confirmacao-remocao .conteudo-padroes-escala { padding: 24px; }
.modal-confirmacao-remocao h2 { margin: 0; color: var(--grafite-profundo); font-size: 1.2rem; }
.modal-confirmacao-remocao p { margin: 10px 0 0; color: var(--texto-suave); line-height: 1.5; }
.modal-confirmacao-remocao button { min-height: 44px; }
.modal-confirmacao-remocao #confirmar-remocao-bloco-acao { color: #fff; background: #a53131; border-color: #a53131; }
.conteudo-padroes-escala { display: grid; gap: 18px; border: 0; }
.secao-padroes-escala { display: grid; gap: 12px; padding: 18px; background: #f8fafa; border: 1px solid var(--borda); border-top: 4px solid #fff69a; border-radius: 6px; }
.secao-padroes-escala h3 { margin: 0; color: var(--grafite-profundo); font-size: .98rem; }
.secao-padroes-escala p { margin: 0; color: var(--texto-suave); font-size: .82rem; line-height: 1.45; }
.secao-padroes-escala label { display: grid; gap: 6px; }
.grade-horarios-padrao { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
.turno-horario-padrao { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; min-width: 0; margin: 0; padding: 10px 12px 12px; border: 1px solid var(--borda); border-radius: 5px; }
.turno-horario-padrao legend { padding: 0 4px; font-weight: 700; color: var(--grafite-profundo); }
.turno-horario-padrao label { min-width: 0; font-size: .8rem; }
.turno-horario-padrao input { width: 100%; min-width: 0; }
.acoes-padroes-escala { display: flex; justify-content: flex-end; gap: 8px; }
@media (max-width: 520px) { .grade-horarios-padrao { grid-template-columns: 1fr; }.acoes-padroes-escala { flex-direction: column-reverse; }.acoes-padroes-escala button { width: 100%; } }
.estado-vazio-escalas { margin: 0; padding: 18px; color: var(--texto-suave); background: #f2f5f5; border: 1px dashed var(--borda); border-radius: 6px; }
.editor-escala[hidden] { display: none; }
.editor-escala { padding: 15px 16px; }
.editor-escala .cabecalho-cartao { margin-bottom: 5px; }
.editor-escala .sobretitulo { margin-bottom: 2px; }
.editor-escala .cabecalho-cartao p[id^="data-editor"] { margin-top: 2px; font-size: .8rem; }
.editor-escala .etiqueta-neutra { padding: 5px 8px; font-size: .7rem; }
.acoes-secao-escala { display: flex; align-items: center; gap: 8px; }
.acoes-secao-escala button { min-height: 34px; padding: 6px 12px; font-size: .78rem; }
.editor-escala :is(.ajuda-escala, .tabela-escala-container)[hidden] { display: none; }
.visualizacao-pronta-escala { border-color: #899195; }
.tabela-conferencia-escala { width: 100%; min-width: 920px; border-collapse: collapse; table-layout: fixed; color: #17242b; font-size: .71rem; }
.tabela-conferencia-escala :is(th, td) { padding: 4px 5px; border: 1px solid #8c9497; text-align: center; vertical-align: middle; overflow-wrap: anywhere; }
.tabela-conferencia-escala:not(.tabela-conferencia-supervisao) :is(thead, tbody) th:first-child { width: 154px; }
.tabela-conferencia-supervisao { min-width: 0; }
.tabela-conferencia-supervisao .coluna-conferencia-posto { width: 9%; }
.tabela-conferencia-supervisao .coluna-conferencia-nome { width: 12.5%; }
.tabela-conferencia-supervisao .coluna-conferencia-gse { width: 3.5%; }
.tabela-conferencia-supervisao .coluna-conferencia-ainm { width: 6.75%; }
.tabela-conferencia-supervisao tbody td:nth-child(3n + 2) { padding-inline: 8px; overflow-wrap: break-word; }
.tabela-conferencia-supervisao .valor-ainm-conferencia-escala { padding-inline: 2px; font-size: .68rem; font-weight: 700; white-space: nowrap; overflow-wrap: normal; }
.tabela-conferencia-escala .linha-vtr-conferencia-escala td,
.tabela-conferencia-supervisao tbody tr:not(.linha-vtr-conferencia-escala) td:nth-child(3n + 2),
.tabela-conferencia-supervisao .valor-gse-conferencia-escala,
.tabela-conferencia-escala:not(.tabela-conferencia-supervisao) tbody td { font-weight: 700; }
.tabela-conferencia-escala tbody th { text-align: left; font-weight: 700; }
.tabela-conferencia-escala .titulo-conferencia-escala th { background: #c9cccd; font-size: .8rem; }
.tabela-conferencia-escala .turnos-conferencia-escala th { background: #dfe3e4; }
.tabela-conferencia-escala .rotulos-conferencia-escala th, .tabela-conferencia-escala .linha-vtr-conferencia-escala :is(th, td) { background: #fff69a; }
.tabela-conferencia-escala:not(.tabela-conferencia-supervisao) .turnos-conferencia-escala th { background: #fff69a; }
.tabela-conferencia-escala small { display: block; margin-top: 2px; font-size: .66rem; }

.lista-escalas-salvas { list-style: none; margin: 0; padding: 0; display: grid; gap: 7px; }
.lista-escalas-salvas li { display: flex; align-items: center; justify-content: space-between; gap: 12px; border: 1px solid #cbd4d7; border-radius: 5px; padding: 8px 10px; }
.lista-escalas-salvas li span { font-weight: 600; }
.atalhos-catalogos-escala { display: flex; flex-wrap: wrap; gap: 8px; }
.atalhos-catalogos-escala button { min-height: 40px; background: #fff; }
.etapas-fluxo-escala { margin: 0 0 14px; padding: 0 18px; border: 1px solid var(--borda); border-radius: 8px; background: #fff; box-shadow: 0 2px 8px #1329360d; }
.etapas-fluxo-escala ol { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 0; margin: 0; padding: 0; list-style: none; }
.etapa-fluxo-escala { display: flex; align-items: center; gap: 10px; min-width: 0; padding: 16px 8px; position: relative; }
.etapa-fluxo-escala:not(:last-child)::after { content: ''; position: absolute; right: 0; width: 28px; height: 1px; background: #c5d2d8; transform: translateX(50%); }
.numero-etapa { display: grid; flex: none; place-items: center; width: 34px; height: 34px; border-radius: 50%; background: #e3e9ec; color: #294353; font-weight: 800; }
.etapa-fluxo-escala strong, .etapa-fluxo-escala small { display: block; }
.etapa-fluxo-escala strong { color: var(--grafite-profundo); font-size: .88rem; }
.etapa-fluxo-escala small { color: var(--texto-suave); font-size: .72rem; }
.etapa-fluxo-escala.etapa-atual .numero-etapa { background: #ffd441; color: #162d3b; }
.etapa-fluxo-escala.etapa-atual strong { color: #152e3c; }
.cartao-nova-escala { display: grid; grid-template-columns: minmax(0, 1fr) 240px; gap: 20px; border-color: #e4cb78; background: linear-gradient(110deg, #fff9e5 0%, #fff 70%); }
.conteudo-inicio-escala { min-width: 0; }
.proximos-passos-escala { align-self: stretch; padding: 7px 0 6px 19px; border-left: 1px solid #e9dcae; }
.proximos-passos-escala h3 { margin: 0 0 10px; color: var(--grafite-profundo); font-size: .83rem; }
.proximos-passos-escala ol { display: grid; gap: 7px; margin: 0; padding-left: 19px; color: var(--grafite-azulado); font-size: .74rem; line-height: 1.35; }
.proximos-passos-escala li::marker { color: #9a7117; font-weight: 800; }
.cabecalho-inicio-escala { display: flex; align-items: center; gap: 14px; margin-bottom: 16px; }
.cabecalho-inicio-escala .sobretitulo { margin: 0 0 3px; color: #755a18; font-size: .68rem; }
.cabecalho-inicio-escala h2 { margin: 0; font-size: 1.3rem; }
.cabecalho-inicio-escala p:last-child { margin: 3px 0 0; color: var(--texto-suave); font-size: .77rem; }
.icone-data-escala { display: grid; flex: none; place-items: center; width: 44px; height: 44px; border-radius: 8px; background: #ffd441; color: #173448; font-size: 1.7rem; font-weight: 700; }
.icone-data-escala svg { width: 23px; height: 23px; }
.cartao-nova-escala .inicio-escala { gap: 10px; }
.cartao-nova-escala .inicio-escala label { min-width: 220px; }
.cartao-nova-escala #gerar-escala { min-width: 150px; }
.cartao-nova-escala .contexto-inicio-escala { border-color: #eadfb6; }
.selo-pronto-escala { padding: 4px 8px; border-radius: 999px; color: #1e6742; background: #e0f2e7; font-size: .75rem; }
.selo-pronto-escala[hidden] { display: none; }
.selo-pronto-escala.selo-publicada { color: #17456a; background: #e0eef9; }
.selo-pronto-escala.selo-retificada { color: #6b3e7b; background: #f0e6f4; }
.selo-pronto-escala.selo-pendente { color: #74581c; background: #f8efd5; }
.escala-com-publicacao #marcar-pronta-escala, .escala-com-publicacao #marcar-pronta-fim-escala { display: none; }
.historico-publicacao-escala { width: 100%; color: var(--grafite-profundo); font-size: .78rem; }
.historico-publicacao-escala summary { cursor: pointer; font-weight: 700; }
.historico-publicacao-escala ol { margin: 6px 0 0; padding-left: 20px; line-height: 1.5; }
.historico-publicacao-escala li + li { margin-top: 4px; }
.modal-retificacao-escala { width: min(520px, calc(100% - 24px)); }
.modal-retificacao-escala .conteudo-padroes-escala { padding: 24px; }
.modal-retificacao-escala h2 { margin: 0; font-size: 1.18rem; }
.modal-retificacao-escala p { margin: 7px 0 0; color: var(--texto-suave); line-height: 1.45; }
.modal-retificacao-escala label { display: grid; gap: 7px; font-weight: 700; }
.modal-retificacao-escala textarea { width: 100%; min-height: 110px; resize: vertical; }
.finalizacao-escala { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 14px 18px; border-color: #a8c7b5; background: #f0f8f3; }
.finalizacao-escala strong { color: #244935; }
.finalizacao-escala p { margin: 3px 0 0; color: var(--texto-suave); font-size: .75rem; }
.acoes-finalizacao-escala { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 8px; }
.finalizacao-escala button { flex: none; background: #225b45; border-color: #225b45; }
.finalizacao-escala #voltar-lista-fim-escala { color: #225b45; background: #fff; }
.finalizacao-escala button[hidden] { display: none; }
.finalizacao-escala.estado-pronto button { color: #225b45; background: #fff; }
.finalizacao-escala.estado-pronto #publicar-fim-escala { color: #fff; background: #225b45; border-color: #225b45; }
.cartao-escalas-salvas > summary { min-height: 68px; }
.acoes-lista-escalas { display: flex; flex-wrap: wrap; gap: 7px; }
.acoes-lista-escalas button[hidden] { display: none; }
.cartao-escalas-salvas > summary::before { content: '◷'; transform: none; font-size: 1.5rem; }
.cartao-escalas-salvas[open] > summary::before { transform: none; }
.cartao-escalas-salvas .lista-escalas-salvas li { padding: 0; border-radius: 5px; background: #fff; }
.cartao-escalas-salvas .lista-escalas-salvas li:first-child { background: #fff9e5; border-color: #e6cb70; }
.resumo-escala-salva { display: grid; grid-template-columns: minmax(110px, .6fr) minmax(90px, .45fr) minmax(90px, .45fr) minmax(160px, 1fr); align-items: center; gap: 12px; flex: 1; min-width: 0; padding: 12px 14px; }
.resumo-escala-salva strong { color: var(--grafite-profundo); }
.resumo-escala-salva span { color: var(--texto-suave); font-size: .78rem; font-weight: 500 !important; }
.resumo-escala-salva .situacao-escala-salva { justify-self: start; padding: 4px 8px; border-radius: 999px; font-weight: 700 !important; }
.situacao-escala-salva.situacao-pronta { color: #1e6742; background: #e0f2e7; }
.situacao-escala-salva.situacao-em_edicao { color: #74581c; background: #f8efd5; }
.situacao-escala-salva.situacao-publicada { color: #17456a; background: #e0eef9; }
.situacao-escala-salva.situacao-retificada { color: #6b3e7b; background: #f0e6f4; }
.cartao-escalas-salvas .lista-escalas-salvas li button { margin: 6px 10px 6px 0; }
@media (max-width: 1100px) { .cartao-nova-escala { grid-template-columns: 1fr; }.proximos-passos-escala { display: none; } }
@media (max-width: 900px) { .etapas-fluxo-escala { padding: 0 8px; }.etapa-fluxo-escala:not(:last-child)::after { display: none; }.etapa-fluxo-escala { gap: 7px; padding: 12px 5px; }.etapa-fluxo-escala small { display: none; }.numero-etapa { width: 29px; height: 29px; }.resumo-escala-salva { grid-template-columns: 1fr 1fr; }.resumo-escala-salva span:last-child { grid-column: 1 / -1; } }
@media (max-width: 600px) { .atalhos-catalogos-escala { width: 100%; }.atalhos-catalogos-escala button { flex: 1 1 130px; }.etapas-fluxo-escala ol { grid-template-columns: repeat(2, minmax(0, 1fr)); }.etapa-fluxo-escala { padding: 9px 6px; }.cabecalho-inicio-escala { align-items: flex-start; }.cabecalho-inicio-escala h2 { font-size: 1.08rem; }.resumo-escala-salva { grid-template-columns: 1fr; gap: 4px; width: 100%; }.resumo-escala-salva span:last-child { grid-column: auto; }.cartao-escalas-salvas .lista-escalas-salvas li button { width: calc(100% - 20px); margin: 0 10px 10px; }.finalizacao-escala { align-items: stretch; flex-direction: column; }.acoes-finalizacao-escala { flex-direction: column; }.finalizacao-escala button { width: 100%; min-height: 44px; } }
@media (max-width: 640px) {
  .lista-escalas-salvas li { flex-wrap: wrap; }
  .lista-escalas-salvas li button { width: 100%; }
}
#impressao-escala { display: none; width: 280mm; color: #111; font-family: Arial, sans-serif; }
#impressao-escala.medindo-impressao { display: block; position: absolute; left: -10000px; top: 0; }
#impressao-escala .tabela-conferencia-escala { min-width: 0; width: 100%; margin: 0; font-size: 6.5pt; line-height: 1.14; border-collapse: collapse; break-inside: auto; }
#impressao-escala .tabela-conferencia-escala + .tabela-conferencia-escala { margin-top: -1px; }
#impressao-escala .tabela-conferencia-escala :is(th, td) { padding: 1px 2px; overflow-wrap: anywhere; }
#impressao-escala .tabela-conferencia-escala small { margin-top: 0; font-size: .88em; line-height: 1; }
#impressao-escala .nomes-expediente-pronto,
#impressao-escala .nomes-complementares-prontos,
#impressao-escala .nomes-complementares-automaticos { gap: 1px 5px; min-width: 0; }
#impressao-escala .nome-expediente-pronto,
#impressao-escala .nomes-complementares-prontos > span,
#impressao-escala .nomes-complementares-automaticos > span { max-width: 100%; min-width: 0; white-space: normal; overflow-wrap: anywhere; }
#impressao-escala .tabela-conferencia-escala .titulo-conferencia-escala th { font-size: 1.05em; }
#impressao-escala .tabela-conferencia-supervisao tbody td:nth-child(3n + 2) { padding-inline: 2px; }
#impressao-escala .tabela-conferencia-supervisao .valor-ainm-conferencia-escala { font-size: .9em; }
#impressao-escala .tabela-cabecalho-impressao { table-layout: fixed; }
#impressao-escala .tabela-cabecalho-impressao td { height: 46px; white-space: pre-line; font-size: 6.5pt; font-weight: 700; }
#impressao-escala .tabela-cabecalho-impressao td:first-child { width: 26%; }
#impressao-escala .tabela-cabecalho-impressao td:last-child { width: 18%; }
#impressao-escala .tabela-cabecalho-impressao img { display: block; max-width: 44px; max-height: 44px; margin: auto; object-fit: contain; }
#impressao-escala .tabela-cabecalho-impressao th { font-size: 7pt; text-align: center; }
#impressao-escala .tabela-cabecalho-impressao .data-cabecalho-impressao th { font-size: 9pt; font-weight: 700; }
#impressao-escala .tabela-resumo-qo-impressao .turnos-conferencia-escala th { background: #fff69a; }
#impressao-escala .tabela-publicacao-impressao th { background: #e0eef9; text-align: center; font-size: 6.5pt; }
#impressao-escala .tabela-resumo-qo-impressao tbody th { width: 40%; }
#impressao-escala .tabela-resumo-qo-impressao .total-qo-impressao :is(th, td) { background: #e9edee; font-weight: 700; }
#impressao-escala .rodape-qo-impressao td { font-size: 6pt; text-align: center; font-weight: 400; }

@media print {
  @page { size: A4 portrait; margin: 4mm; }
  body { margin: 0; background: white; }
  .aplicacao { display: none !important; }
  #impressao-escala { display: block; margin-inline: auto; zoom: var(--escala-impressao, .7); }
  #impressao-escala .tabela-conferencia-escala tr { break-inside: auto; }
  #impressao-escala * { print-color-adjust: exact; -webkit-print-color-adjust: exact; }
}
.tabela-conferencia-expediente { min-width: 0; }
.tabela-conferencia-expediente :is(thead, tbody) th:first-child { width: 20%; }
.nomes-expediente-pronto { display: flex; flex-wrap: wrap; justify-content: center; gap: 4px 12px; }
.nome-expediente-pronto { display: inline-block; }
.tabela-conferencia-complementares { min-width: 0; }
.tabela-conferencia-complementares col:first-child { width: 13%; }
.tabela-conferencia-complementares col:last-child { width: 87%; }
.tabela-conferencia-complementares :is(thead, tbody) th:first-child { width: auto; }
.nomes-complementares-prontos, .nomes-complementares-automaticos { display: flex; flex-wrap: wrap; gap: 4px 12px; align-items: center; }
.tabela-conferencia-complementares .nomes-complementares-prontos, .tabela-conferencia-complementares .nomes-complementares-automaticos { justify-content: flex-start; }
.escolha-militar-escala.nome-duplicado-escala:not([data-militar-id="externo"]) .selecao-militar-escala,
.escolha-militar-escala.nome-duplicado-escala[data-militar-id="externo"] .campos-militar-externo :is(select, input),
.nome-conferencia-militar.nome-duplicado-escala { text-decoration: underline; text-decoration-thickness: 2px; text-underline-offset: 2px; }
.ajuda-escala { margin: 0 0 8px; color: var(--texto-suave); font-size: .76rem; }
.ajuda-escala summary, .ajuda-nao-escalados summary { width: fit-content; color: var(--grafite-azulado); font-weight: 700; cursor: pointer; }
.ajuda-escala p { margin: 7px 0 0; line-height: 1.45; }
.ajuda-escala summary:focus-visible, .ajuda-nao-escalados summary:focus-visible { outline: 2px solid var(--azul-camuflado); outline-offset: 2px; }
.tabela-escala-container { border: 1px solid var(--borda); border-radius: 6px; }
.tabela-supervisao { min-width: 1340px; table-layout: fixed; }
.tabela-supervisao th:first-child { width: 190px; }
.montagem-escala .tabela-supervisao { min-width: 1080px; }
.montagem-escala .tabela-supervisao th:first-child { width: 158px; }
.montagem-escala .tabela-expediente { min-width: 650px; }
.montagem-escala .tabela-expediente th:first-child { width: 150px; }
.posicoes-expediente { display: grid; grid-template-columns: repeat(auto-fit, minmax(190px, 1fr)); gap: 7px; }
.posicao-expediente { min-width: 0; }
.montagem-escala .tabela-complementares { min-width: 620px; }
.montagem-escala .tabela-complementares th:first-child { width: 150px; }
.posicoes-complementares { display: grid; grid-template-columns: repeat(auto-fit, minmax(190px, 1fr)); gap: 7px; }
.nomes-complementares-distribuidos { display: flex; flex-wrap: wrap; gap: 4px 12px; margin-bottom: 6px; font-size: .72rem; font-weight: 700; }
.acoes-distribuicao-complementares { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 12px; padding: 8px; font-size: .74rem; }
.nome-distribuido-complementar { display: inline-flex; align-items: center; gap: 2px; white-space: nowrap; }
.remover-distribuido-complementar { padding: 0 4px; border: 0; background: transparent; color: #8b2632; font-size: 1rem; cursor: pointer; }
.remover-distribuido-complementar:focus-visible { outline: 2px solid currentColor; outline-offset: 2px; }
.nomes-complementares-distribuidos:empty { display: none; }
.origem-folga-complementar { display: block; font-size: .69rem; font-weight: 400; }
.tabela-conferencia-complementares .nomes-complementares-prontos { flex-wrap: nowrap; }
.tabela-conferencia-complementares .nomes-complementares-prontos span { white-space: nowrap; }
.posicao-complementar { min-width: 0; }
.tabela-complementares .escolha-militar-escala { grid-template-columns: minmax(0, 1fr); }
.tabela-complementares .escolha-militar-escala[data-militar-id] { grid-template-columns: minmax(0, 1fr) auto; }
.tabela-complementares .botao-horario-militar, .tabela-complementares .resumo-horario-militar { display: none; }
.tabela-supervisao thead th { background: #fff69a; text-align: center; }
.tabela-supervisao thead th:first-child { text-align: left; }
.posicao-servico-interno { color: var(--texto-suave); font-weight: 400; }
.adicionar-servico-interno, .remover-servico-interno { display: block; margin-top: 4px; padding: 4px 6px; color: var(--grafite-azulado); background: #fff; border: 1px solid var(--cinza-frio); border-radius: 4px; font-size: .72rem; cursor: pointer; }
.remover-servico-interno { color: #8c3838; }
.acoes-posto-interno { display: flex; flex-wrap: wrap; gap: 4px; align-items: center; }
.acoes-posto-interno .remover-servico-interno { margin-right: 0; }
.editar-rotulo-interno { display: inline-flex; align-items: center; gap: 3px; margin-top: 4px; padding: 4px 6px; color: var(--grafite-azulado); background: #fff; border: 1px solid var(--cinza-frio); border-radius: 4px; font-size: .72rem; cursor: pointer; }
.editar-rotulo-interno img { width: 13px; height: 13px; object-fit: contain; }
.rotulo-personalizado-interno { display: block; width: 100%; margin-top: 5px; padding: 4px 5px; font-size: .75rem; }
.rotulo-personalizado-interno[hidden] { display: none; }
.tabela-conferencia-escala tbody th.rotulo-personalizado-conferencia { color: #b12626; }
.tabela-supervisao thead strong { display: block; margin-bottom: 3px; }
.horarios-turno-escala { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 5px; }
.campo-horario-escala { display: grid; grid-template-columns: 1fr; gap: 2px; text-align: left; }
.campo-horario-escala span { font-size: .67rem; font-weight: 700; letter-spacing: 0; text-transform: none; }
.campo-horario-escala input { min-width: 0; padding: 4px 5px; font-size: .78rem; }
.tabela-supervisao tbody th { color: var(--grafite-profundo); background: #f3f6f6; font-size: .8rem; text-transform: none; }
@media screen {
  .montagem-escala .tabela-escala-container:not(.visualizacao-pronta-escala) .linha-funcao-colorida > :is(th, td) { background: var(--cor-funcao-fundo); }
  .montagem-escala .tabela-escala-container:not(.visualizacao-pronta-escala) .linha-funcao-colorida > th { background: var(--cor-funcao-titulo); box-shadow: inset 4px 0 var(--cor-funcao-marca); }
}
.tabela-supervisao :is(td, th) { padding: 6px 8px; border-right: 1px solid var(--borda); vertical-align: top; }
.tabela-supervisao td:last-child, .tabela-supervisao th:last-child { border-right: 0; }
.campos-turno-escala { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 4px; }
.escolha-militar-escala { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 4px; align-items: end; grid-column: 1 / -1; min-width: 0; }
.escolha-militar-escala > .campo-celula-escala { position: relative; grid-column: 1 / -1; }
.escolha-militar-escala > .campo-celula-escala::after { position: absolute; right: 12px; bottom: 11px; width: 0; height: 0; border: 4px solid transparent; border-top-color: var(--grafite-profundo); content: ''; pointer-events: none; }
.botao-horario-militar, .limpar-militar-escala { min-width: 0; min-height: 30px; padding: 4px 6px; align-items: center; justify-content: center; gap: 5px; background: #fff; border: 1px solid var(--cinza-frio); border-radius: 4px; font-size: .69rem; font-weight: 700; line-height: 1.2; cursor: pointer; }
.botao-horario-militar { grid-column: 1; color: var(--grafite-azulado); }
.botao-horario-militar::before, .limpar-militar-escala::before { width: 15px; height: 15px; flex: none; background-position: center; background-repeat: no-repeat; background-size: contain; content: ''; }
.botao-horario-militar::before { background-image: url('assets/icons/webp/horario-individual.webp'); }
.copiar-turno-anterior { display: inline-flex; grid-column: 1 / -1; min-height: 30px; align-items: center; justify-content: center; gap: 5px; padding: 4px 6px; color: var(--grafite-azulado); background: #edf2f3; border: 1px solid var(--cinza-frio); border-radius: 4px; font-size: .69rem; font-weight: 700; line-height: 1.2; cursor: pointer; }
.puxar-militar-vespera { grid-column: 1 / -1; min-height: 30px; padding: 4px 6px; color: #285543; background: #e9f4ed; border: 1px solid #a7cdb4; border-radius: 4px; font-size: .69rem; font-weight: 700; line-height: 1.2; cursor: pointer; }
.puxar-militar-vespera:hover { background: #d8ecdf; }
.puxar-militar-vespera:focus-visible { outline: 2px solid #285543; outline-offset: 2px; }
.copiar-turno-anterior[hidden] { display: none; }
.copiar-turno-anterior::before { width: 15px; height: 15px; flex: none; background: url('assets/icons/webp/copiar-turno.webp') center / contain no-repeat; content: ''; }
.copiar-turno-anterior:hover { background: #e0e9ed; }
.limpar-militar-escala { display: none; grid-column: 2; color: #8c3838; }
.limpar-militar-escala::before { background-image: url('assets/icons/webp/limpar-celula.webp'); }
.escolha-militar-escala[data-militar-id] > .limpar-militar-escala { display: inline-flex; }
.limpar-militar-escala:hover { background: #fff0ee; border-color: #b86a65; }
.botao-horario-militar.preenchido { color: var(--grafite-profundo); background: #e7f2e9; border-color: #7aa988; }
.resumo-horario-militar { grid-column: 1 / -1; color: var(--grafite-azulado); font-size: .72rem; font-weight: 700; }
.campos-horario-militar { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 6px; grid-column: 1 / -1; align-items: end; padding: 8px; background: #edf2f3; border: 1px solid var(--borda); border-radius: 5px; }
.campos-horario-militar[hidden], .resumo-horario-militar[hidden] { display: none; }
.campo-horario-militar { display: grid; gap: 4px; min-width: 0; }
.campo-horario-militar span { color: var(--texto-suave); font-size: .68rem; font-weight: 700; }
.campo-horario-militar input { min-width: 0; padding: 7px 3px; font-size: .75rem; }
.limpar-horario-militar { grid-column: 1 / -1; justify-self: start; padding: 3px 0; color: var(--grafite-azulado); background: transparent; border: 0; font-size: .72rem; text-decoration: underline; cursor: pointer; }
.escolha-militar-escala > .campos-militar-externo { grid-column: 1 / -1; }
.selecao-militar-escala { padding-right: 26px !important; }
.sugestoes-militar-escala { position: fixed; z-index: 100; max-height: 240px; overflow-y: auto; background: #fff; border: 1px solid var(--cinza-frio); border-radius: 5px; box-shadow: 0 8px 20px #172e3a33; }
.sugestoes-militar-escala[hidden] { display: none; }
.sugestao-militar-escala { padding: 8px 10px; font-size: .78rem; cursor: pointer; }
.sugestao-militar-escala:hover, .sugestao-militar-escala.ativa { color: #fff; background: var(--azul-camuflado); }
.sugestao-militar-vazia { padding: 8px 10px; color: var(--texto-suave); font-size: .78rem; }
.campos-militar-externo { display: grid; gap: 6px; margin-top: 8px; padding: 8px; background: #edf2f3; border: 1px solid var(--borda); border-radius: 5px; }
.campos-militar-externo[hidden] { display: none; }
.tabela-supervisao .linha-vtr-escala > :is(th, td) { background: #fff69a; }
.celula-vtr-escala .campo-celula-escala { max-width: 100%; }
.campo-celula-escala { display: grid; grid-template-columns: 1fr; gap: 2px; min-width: 0; }
.campo-celula-escala span { overflow: hidden; color: var(--texto-suave); font-size: .68rem; font-weight: 700; text-overflow: ellipsis; white-space: nowrap; }
.campo-celula-escala :is(input, select) { min-width: 0; padding: 6px 7px; font-size: .78rem; }
@media screen and (min-width: 761px) {
  .montagem-escala .tabela-supervisao :is(td, th) { padding: 4px 5px; }
  .montagem-escala .tabela-supervisao thead strong { margin-bottom: 1px; }
  .montagem-escala .tabela-supervisao :is(.campos-turno-escala, .escolha-militar-escala) { gap: 3px; }
  .montagem-escala .tabela-supervisao .escolha-militar-escala { grid-template-columns: .9fr 1.2fr .8fr; }
  .montagem-escala .tabela-supervisao :is(.copiar-turno-anterior, .botao-horario-militar, .limpar-militar-escala) { min-height: 32px; padding: 4px; gap: 3px; font-size: .72rem; }
  .montagem-escala .tabela-supervisao .copiar-turno-anterior { grid-column: 1; }
  .montagem-escala .tabela-supervisao .botao-horario-militar { grid-column: 2; }
  .montagem-escala .tabela-supervisao .limpar-militar-escala { grid-column: 3; }
  .montagem-escala .tabela-supervisao :is(.copiar-turno-anterior, .botao-horario-militar, .limpar-militar-escala)::before { width: 13px; height: 13px; }
  .montagem-escala .tabela-supervisao .campos-militar-externo { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 4px; margin-top: 0; padding: 5px; background: #ffffffa6; border-color: #bdcdd3; }
  .montagem-escala .tabela-supervisao .campo-celula-escala :is(input, select) { font-size: .8rem; }
  .montagem-escala .tabela-supervisao .campos-militar-externo .campo-celula-escala :is(input, select) { padding: 4px 5px; }
  .montagem-escala .tabela-supervisao .campos-horario-militar { gap: 4px; padding: 5px; }
  .montagem-escala .tabela-supervisao .campo-horario-militar input { padding: 4px 3px; }
}
@media (max-width: 760px) { .conteudo-escalas { padding: 16px 12px; }.cartao-nova-escala { padding: 14px; }.inicio-escala :is(button, input), .acoes-apoio-escala button { min-height: 44px; }.tabela-supervisao :is(td, th) { padding: 8px; }.tabela-supervisao :is(input, select, .botao-horario-militar, .limpar-militar-escala, .copiar-turno-anterior, .adicionar-servico-interno, .remover-servico-interno, .editar-rotulo-interno) { min-height: 44px; } }
.subtitulo-viaturas { margin: 0 0 10px; color: var(--grafite-azulado); font-size: .88rem; }
.lista-viaturas { display: flex; flex-wrap: wrap; gap: 8px; margin: 0 0 16px; padding: 0; list-style: none; }
.lista-viaturas li { padding: 8px 12px; color: var(--grafite-profundo); background: #edf2f3; border: 1px solid var(--borda); border-radius: 6px; font-size: .82rem; font-weight: 700; }
.cadastro-viatura { max-width: 760px; }
.cadastro-viatura summary { display: inline-block; padding: 10px 13px; color: var(--grafite-azulado); border: 1px solid var(--cinza-frio); border-radius: 5px; cursor: pointer; font-size: .82rem; font-weight: 700; }
.cadastro-viatura form { display: flex; flex-wrap: wrap; align-items: end; gap: 12px; margin-top: 14px; }
.cadastro-viatura form > label { flex: 1 1 180px; }
.cadastro-viatura form > .campo-viatura-pesada { flex-basis: 150px; }
.cadastro-viatura form > .campo-viatura-pesada[hidden] { display: none; }
.lista-viaturas li { display: flex; flex-wrap: wrap; align-items: center; gap: 6px; }
.painel-auxiliar-escala .lista-viaturas { gap: 6px; margin-bottom: 12px; }
.painel-auxiliar-escala .lista-viaturas li { max-width: 100%; padding: 6px 9px; overflow-wrap: anywhere; font-size: .77rem; }
.lista-viaturas .editar-viatura { min-height: 28px; padding: 3px 8px; font-size: .75rem; }
@media (max-width: 760px) { .painel-auxiliar-escala .lista-viaturas .editar-viatura { min-height: 44px; } }
.lista-viaturas .edicao-viatura-pesada { display: flex; flex-wrap: wrap; align-items: end; gap: 7px; width: 100%; }
.lista-viaturas .edicao-viatura-pesada[hidden] { display: none; }
.lista-viaturas .edicao-viatura-pesada label { display: grid; gap: 2px; font-size: .72rem; }
.lista-viaturas .edicao-viatura-pesada input { width: 110px; }
.cadastro-viatura button { min-height: 44px; }
@media (max-width: 760px) { .cadastro-viatura form { grid-template-columns: 1fr; } }
.resumo-pedidos { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; }
.resumo-pedidos .cartao-resumo-pedido { display: grid; gap: 4px; min-height: 88px; padding: 17px 18px; color: var(--texto); background: var(--superficie); border: 1px solid var(--borda); border-radius: 8px; text-align: left; cursor: pointer; }
.resumo-pedidos .cartao-resumo-pedido:hover { background: #edf3f4; border-color: var(--azul-camuflado); }
.resumo-pedidos .cartao-resumo-pedido.ativo { background: #e4eef0; border: 2px solid var(--azul-camuflado); padding: 16px 17px; box-shadow: inset 4px 0 var(--grafite-azulado); }
.resumo-pedidos .cartao-resumo-pedido:focus-visible { outline: 3px solid var(--cinza-frio); outline-offset: 3px; }
.resumo-pedidos strong { color: var(--grafite-azulado); font-size: 1.65rem; line-height: 1; }
.resumo-pedidos span { color: var(--texto-suave); font-size: .83rem; font-weight: 700; }
.filtros-pedidos { display: grid; grid-template-columns: minmax(0, 2fr) minmax(140px, 1fr) minmax(170px, 1fr); gap: 14px; margin: 18px 0 10px; padding: 16px; background: #eef3f4; border: 1px solid var(--borda); border-radius: 7px; }
.filtros-pedidos label, .conteudo-modal-pedido label, .atualizacao-pedido label { display: grid; gap: 5px; color: var(--texto-suave); font-size: .82rem; font-weight: 700; }
.filtros-pedidos :is(input, select), .conteudo-modal-pedido :is(input, select, textarea), .atualizacao-pedido :is(select, textarea) { width: 100%; }
.conteudo-modal-pedido textarea { grid-column: 1 / -1; }
.campo-busca-militar-pedido { position: relative; display: grid; gap: 5px; }.campo-busca-militar-pedido > label { display: block; }
.sugestoes-militar-pedido { position: absolute; top: 100%; left: 0; right: 0; z-index: 5; max-height: 230px; overflow-y: auto; background: #fff; border: 1px solid var(--cinza-frio); border-radius: 0 0 6px 6px; box-shadow: 0 12px 22px #11171b30; }
.sugestoes-militar-pedido[hidden] { display: none; }.sugestao-militar-pedido { display: grid; gap: 2px; padding: 9px 11px; color: var(--texto); cursor: pointer; }.sugestao-militar-pedido + .sugestao-militar-pedido { border-top: 1px solid var(--borda); }.sugestao-militar-pedido:hover, .sugestao-militar-pedido.ativa { background: #dce7e9; }.sugestao-militar-pedido span { color: var(--texto-suave); font-size: .72rem; }.sugestao-vazia-pedido { margin: 0; padding: 11px; color: var(--texto-suave); font-size: .8rem; }
.resultado-filtros-pedidos { display: flex; align-items: center; justify-content: space-between; gap: 12px; min-height: 36px; margin-bottom: 12px; }.resultado-filtros-pedidos p { margin: 0; color: var(--texto-suave); font-size: .83rem; font-weight: 650; }.botao-limpar-filtros-pedidos { padding: 6px 8px; color: var(--azul-camuflado); background: transparent; border: 0; font-size: .8rem; }.botao-limpar-filtros-pedidos:hover { color: var(--grafite-profundo); background: #e3ebed; }.botao-limpar-filtros-pedidos[hidden] { display: none; }
.lista-pedidos { display: grid; gap: 10px; }
.cartao-pedido { overflow: hidden; background: #fff; border: 1px solid var(--borda); border-left: 5px solid #a27b2b; border-radius: 7px; }
.cartao-pedido.em_analise { border-left-color: #52758a; }.cartao-pedido.resolvido { border-left-color: #276343; }
.abrir-pedido { display: grid; width: 100%; gap: 7px; min-height: 112px; padding: 16px 18px; color: var(--texto); background: transparent; border: 0; border-radius: 0; text-align: left; font-weight: 400; }.abrir-pedido:hover { background: #f1f5f5; }.abrir-pedido:focus-visible { outline: 3px solid var(--azul-camuflado); outline-offset: -3px; }.assunto-pedido { color: var(--grafite-profundo); font-size: 1rem; font-weight: 750; overflow-wrap: anywhere; }.militar-cartao-pedido { color: var(--texto); font-size: .88rem; font-weight: 700; }.metadados-cartao-pedido { color: var(--texto-suave); font-size: .8rem; }.ver-pedido { justify-self: end; color: var(--azul-camuflado); font-size: .8rem; font-weight: 750; }
.topo-pedido { display: flex; align-items: flex-start; justify-content: space-between; gap: 14px; }
.situacao-pedido { flex: 0 0 auto; width: fit-content; padding: 5px 8px; color: #654c16; background: #f5ebca; border-radius: 4px; font-size: .76rem; font-weight: 800; }
.em_analise .situacao-pedido, .situacao-pedido.em_analise { color: #25475b; background: #dceaf0; }.resolvido .situacao-pedido, .situacao-pedido.resolvido { color: #225337; background: #dff0e4; }
.painel-pedido[hidden] { display: none; }.painel-pedido-aberto { overflow: hidden; }.painel-pedido { position: fixed; z-index: 950; inset: 0; display: flex; justify-content: flex-end; background: #11171ba6; backdrop-filter: blur(2px); }.conteudo-painel-pedido { display: grid; grid-template-rows: auto minmax(0, 1fr) auto; width: min(540px, calc(100% - 24px)); height: 100%; background: var(--superficie); border-left: 5px solid var(--azul-camuflado); box-shadow: -18px 0 55px #0005; animation: entrar-painel .2s ease-out; }.cabecalho-painel-pedido { position: relative; padding: 28px 56px 24px 26px; color: #eef3f4; background: linear-gradient(145deg, var(--grafite-azulado), var(--grafite-profundo)); }.sobretitulo-painel-pedido { margin: 0 0 7px; color: #bfcbd0; font-size: .72rem; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }.cabecalho-painel-pedido h2 { color: #fff; font-size: 1.32rem; overflow-wrap: anywhere; }.cabecalho-painel-pedido h2 + p { margin: 7px 0 0; color: #d4dfe2; font-size: .86rem; }.fechar-painel-pedido { position: absolute; top: 18px; right: 18px; display: grid; place-items: center; width: 38px; height: 38px; padding: 0; color: #dbe3e5; background: #ffffff12; border-color: #ffffff52; border-radius: 50%; font-size: 1.3rem; }.fechar-painel-pedido:hover { background: #ffffff24; }
.corpo-painel-pedido { display: grid; align-content: start; gap: 14px; min-height: 0; padding: 20px 24px 28px; overflow-y: auto; }.bloco-painel-pedido { padding: 16px; background: #fff; border: 1px solid var(--borda); border-radius: 8px; }.bloco-painel-pedido h3, .titulo-edicao-pedido { margin: 0 0 10px; color: var(--grafite-azulado); font-size: .82rem; letter-spacing: .04em; text-transform: uppercase; }.bloco-painel-pedido p { margin: 0; font-size: .87rem; line-height: 1.5; }.resumo-painel-pedido { display: grid; gap: 10px; }.resumo-painel-pedido p, .historico-vazio-pedido { color: var(--texto-suave); }.texto-pedido-painel, .lista-historico-pedido p { white-space: pre-wrap; overflow-wrap: anywhere; }.lista-historico-pedido { display: grid; gap: 14px; margin: 0; padding-left: 20px; }.lista-historico-pedido li { padding-left: 4px; }.lista-historico-pedido strong, .lista-historico-pedido span { display: block; }.lista-historico-pedido strong { font-size: .85rem; }.lista-historico-pedido span { margin: 3px 0 6px; color: var(--texto-suave); font-size: .76rem; }.lista-historico-pedido p { margin: 0; font-size: .85rem; }.titulo-edicao-pedido { margin: 8px 0 -8px; }.atualizacao-pedido { display: grid; gap: 14px; padding: 16px; background: #eaf0f1; border: 1px solid var(--borda); border-radius: 8px; }.atualizacao-pedido label { grid-template-columns: 1fr; }.atualizacao-pedido textarea { min-height: 110px; }.linha-atualizacao-pedido { max-width: 230px; }.acoes-painel-pedido { display: flex; justify-content: flex-end; gap: 10px; padding: 16px 24px; background: #f3f6f6; border-top: 1px solid var(--borda); box-shadow: 0 -8px 20px #11171b0a; }.acoes-painel-pedido:empty { display: none; }
.lista-vazia-pedidos { padding: 22px; color: var(--texto-suave); background: #f3f6f6; border-radius: 7px; text-align: center; }
.acoes-painel-pedido .botao-excluir-pedido { margin-right: auto; color: var(--erro); background: #fff; border-color: #b96b6b; }.acoes-painel-pedido .botao-excluir-pedido:hover { color: #fff; background: var(--erro); }.acoes-painel-pedido .botao-excluir-pedido:disabled { opacity: .6; cursor: wait; }
.modal-pedido { width: min(560px, calc(100vw - 24px)); max-height: calc(100vh - 24px); padding: 0; border: 0; border-radius: 9px; overflow: auto; }.modal-pedido::backdrop { background: #11171bbb; }.conteudo-modal-pedido { display: grid; gap: 16px; margin: 0; }.acoes-pedido { display: flex; justify-content: flex-end; gap: 10px; }
@media (max-width: 700px) { .conteudo-pedidos .cabecalho-pagina { flex-direction: column; }.conteudo-pedidos #novo-pedido { width: 100%; }.resumo-pedidos { grid-template-columns: repeat(2, minmax(0, 1fr)); }.filtros-pedidos { grid-template-columns: 1fr; }.conteudo-painel-pedido { width: 100%; border-left: 0; }.acoes-pedido { flex-wrap: wrap; } }
@media (max-width: 420px) { .resumo-pedidos { gap: 8px; }.resumo-pedidos .cartao-resumo-pedido { min-height: 76px; padding: 12px; }.resumo-pedidos .cartao-resumo-pedido.ativo { padding: 11px; }.topo-pedido { flex-wrap: wrap; }.cabecalho-painel-pedido { padding: 24px 56px 20px 18px; }.corpo-painel-pedido { padding: 16px; }.acoes-painel-pedido { flex-wrap: wrap; padding: 14px 16px; }.acoes-painel-pedido button { flex: 1 1 auto; } }
.oficina-pdf-cabecalho { align-items: center; }
.oficina-pdf-cabecalho h1:focus { outline: none; }
.oficina-pdf-voltar { display: inline-flex; align-items: center; min-height: 44px; padding: 10px 14px; border: 1px solid var(--cinza-frio); border-radius: 4px; color: var(--grafite-azulado); text-decoration: none; font-weight: 700; white-space: nowrap; }
.oficina-pdf-voltar:hover { color: var(--grafite-profundo); background: #edf1f2; }
.oficina-pdf-voltar:focus-visible, .oficina-pdf-atalho:focus-visible { outline: 3px solid #40525c99; outline-offset: 3px; }
.oficina-pdf-inicio { display: grid; gap: 18px; }
.oficina-pdf-introducao h2, .oficina-pdf-introducao p { margin: 0; }
.oficina-pdf-introducao p { margin-top: 6px; color: var(--texto-suave); }
.oficina-pdf-grade-ferramentas { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
.oficina-pdf-atalho { display: flex; min-height: 178px; gap: 17px; padding: 23px; color: var(--texto); background: var(--superficie); border: 1px solid var(--borda); border-top: 4px solid var(--azul-camuflado); border-radius: 8px; box-shadow: 0 2px 8px #11171b0d; text-decoration: none; transition: border-color .15s ease, box-shadow .15s ease, transform .15s ease; }
.oficina-pdf-atalho:hover { border-color: var(--azul-camuflado); box-shadow: 0 8px 22px #11171b1c; transform: translateY(-2px); }
.oficina-pdf-atalho-numero { display: grid; flex: 0 0 48px; place-items: center; width: 48px; height: 48px; color: var(--grafite-azulado); background: #e4ebed; border-radius: 11px; font-size: 1rem; font-weight: 800; }
.oficina-pdf-atalho-conteudo { display: flex; flex-direction: column; gap: 9px; min-width: 0; }
.oficina-pdf-atalho-conteudo strong { color: var(--grafite-profundo); font-size: 1.1rem; }
.oficina-pdf-atalho-conteudo > span:not(.oficina-pdf-atalho-acao) { color: var(--texto-suave); font-size: .88rem; line-height: 1.45; }
.oficina-pdf-atalho-acao { display: inline-flex; align-items: center; gap: 7px; margin-top: auto; color: var(--grafite-azulado); font-size: .85rem; font-weight: 750; }
.oficina-pdf-atalho:hover .oficina-pdf-atalho-acao { text-decoration: underline; }
.oficina-pdf-inicio[hidden], .oficina-pdf-voltar[hidden], [data-tela-oficina][hidden] { display: none !important; }
@media (max-width: 900px) { .oficina-pdf-grade-ferramentas { grid-template-columns: 1fr; } }
@media (max-width: 600px) { .oficina-pdf-cabecalho { align-items: stretch; }.oficina-pdf-voltar { justify-content: center; white-space: normal; }.oficina-pdf-atalho { min-height: 150px; padding: 18px; }.oficina-pdf-atalho-numero { flex-basis: 42px; width: 42px; height: 42px; } }
.oficina-pdf-cartao { margin-bottom: 1.25rem; }
.oficina-pdf-formulario { display: grid; gap: 1rem; }
.oficina-pdf-arquivo, .oficina-pdf-pagina, .oficina-pdf-campos label { display: grid; gap: .4rem; font-weight: 600; }
.oficina-pdf-arquivo input, .oficina-pdf-pagina input, .oficina-pdf-campos input { width: 100%; max-width: 100%; }
.oficina-pdf-pagina { max-width: 16rem; }
.oficina-pdf-ajuda { margin: -.5rem 0 0; color: #475569; }
.oficina-pdf-campos { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .9rem; }
.oficina-pdf-campos label:first-child { grid-column: 1 / -1; }
.oficina-pdf-textos-livres { display: grid; justify-items: start; gap: .65rem; padding: 1rem; border: 1px solid #cbd5e1; border-radius: .6rem; }
.oficina-pdf-textos-livres h3, .oficina-pdf-textos-livres p { margin: 0; }
.oficina-pdf-textos-livres p { color: #475569; }
.oficina-pdf-lista-textos { display: grid; gap: .6rem; width: 100%; }
.oficina-pdf-texto-livre { display: flex; align-items: end; gap: .6rem; }
.oficina-pdf-texto-livre label { display: grid; gap: .3rem; flex: 1; font-weight: 600; }
.oficina-pdf-texto-livre input { width: 100%; }
.oficina-pdf-texto-livre button { white-space: nowrap; }
.oficina-pdf-conferencia { display: flex; align-items: flex-start; gap: .55rem; }
.oficina-pdf-conferencia input { margin-top: .25rem; }
.oficina-pdf-acoes { display: flex; align-items: center; flex-wrap: wrap; gap: .75rem; }
.oficina-pdf-acoes a.botao-secundario { display: inline-flex; align-items: center; justify-content: center; min-height: 44px; padding: 10px 16px; border: 1px solid var(--cinza-frio); border-radius: 4px; color: var(--grafite-azulado); background: transparent; font-weight: 700; line-height: 1.2; text-align: center; text-decoration: none; }
.oficina-pdf-acoes a.botao-secundario:hover { color: var(--grafite-profundo); background: #edf1f2; }
.oficina-pdf-acoes a.botao-secundario:focus-visible { outline: 3px solid var(--grafite-azulado); outline-offset: 2px; }
.oficina-pdf-acoes a.botao-secundario[hidden] { display: none; }
.oficina-pdf-mensagem { min-height: 1.4em; margin: 0; color: #285e46; }
.oficina-pdf-mensagem.erro { color: #a62626; }
.oficina-pdf-previas { display: grid; gap: 1rem; }
.oficina-pdf-previa h2 { margin-top: 0; }
.oficina-pdf-canvas-resultado { display: block; margin: 0 auto; background: white; box-shadow: 0 2px 12px #0002; }
.oficina-pdf-canvas-resultado[hidden] { display: none; }
.oficina-pdf-previa p { margin-bottom: 0; }
.oficina-pdf-rolagem { overflow: auto; max-width: 100%; }
.oficina-pdf-pagina-interativa { position: relative; margin: 0 auto; background: white; box-shadow: 0 2px 12px #0002; }
.oficina-pdf-pagina-interativa.adicionando-texto { cursor: crosshair; outline: 3px solid #1d4ed8; }
.oficina-pdf-pagina-interativa canvas { display: block; }
.oficina-pdf-campos-sobrepostos { position: absolute; inset: 0; pointer-events: none; }
.oficina-pdf-campo-movivel { position: absolute; z-index: 1; font: 10px/1 Arial, sans-serif; white-space: nowrap; color: #111; background: #fff9; outline: 1px dashed #1d4ed8; cursor: grab; user-select: none; touch-action: none; pointer-events: auto; }
.oficina-pdf-campo-movivel:focus-visible, .oficina-pdf-campo-movivel.ativo { outline: 2px solid #1d4ed8; background: #dbeafecc; }
.oficina-pdf-campo-movivel.arrastando { cursor: grabbing; }
.oficina-pdf-campo-movivel.vazio { color: #1e40af; background: #dbeafecc; }
.oficina-pdf-operacao { margin-top: 1.25rem; display: grid; gap: .75rem; }
.oficina-pdf-operacao h2, .oficina-pdf-operacao p { margin: 0; }
.oficina-pdf-operacao code { white-space: nowrap; }
.oficina-pdf-modos-separacao { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .7rem; margin: .35rem 0; }
.oficina-pdf-modos-separacao legend { margin-bottom: .55rem; }
.oficina-pdf-modo-separacao { display: flex; align-items: flex-start; gap: .7rem; min-height: 82px; padding: .85rem; background: #f1f5f5; border: 1px solid var(--borda); border-radius: 7px; cursor: pointer; }
.oficina-pdf-modo-separacao:has(input:checked) { background: #e5edef; border-color: var(--azul-camuflado); box-shadow: inset 3px 0 var(--azul-camuflado); }
.oficina-pdf-modo-separacao:focus-within { outline: 3px solid #40525c66; outline-offset: 2px; }
.oficina-pdf-modo-separacao input { flex: 0 0 18px; width: 18px; height: 18px; margin: .1rem 0 0; accent-color: var(--grafite-azulado); }
.oficina-pdf-modo-separacao span { display: grid; gap: .2rem; min-width: 0; }
.oficina-pdf-modo-separacao strong { color: var(--grafite-profundo); font-size: .85rem; }
.oficina-pdf-modo-separacao small, .oficina-pdf-parametro-separacao small { color: var(--texto-suave); font-size: .76rem; font-weight: 500; line-height: 1.4; }
.oficina-pdf-parametro-separacao { max-width: 38rem; }
.oficina-pdf-parametro-separacao[hidden] { display: none !important; }
@media (max-width: 700px) { .oficina-pdf-modos-separacao { grid-template-columns: 1fr; }.oficina-pdf-modo-separacao { min-height: 66px; } }
.oficina-pdf-tabela-lote { width: 100%; min-width: 760px; border-collapse: collapse; }
.oficina-pdf-tabela-lote th, .oficina-pdf-tabela-lote td { padding: .55rem .65rem; border-bottom: 1px solid #d8e0e8; text-align: left; }
.oficina-pdf-tabela-lote thead { background: #eef3f7; }
.oficina-pdf-tabela-lote td:first-child, .oficina-pdf-tabela-lote th:first-child { text-align: center; }
.oficina-pdf-tabela-lote input { width: 1.1rem; height: 1.1rem; }
.oficina-pdf-previa-lote { margin-top: .4rem; padding: 1rem; border: 1px solid #cbd5e1; border-radius: .6rem; }
.oficina-pdf-previa-lote h3 { margin: 0 0 .75rem; }
.oficina-pdf-previa-lote p { margin: 0 0 .75rem; }
.oficina-pdf-previa-lote .oficina-pdf-acoes { margin-bottom: .75rem; }
.oficina-pdf-lista-x { display: flex; flex-wrap: wrap; gap: .5rem; margin-bottom: .75rem; }
.oficina-pdf-item-x { display: inline-flex; align-items: center; gap: .45rem; padding: .3rem .5rem; border: 1px solid #cbd5e1; border-radius: .45rem; }
.oficina-pdf-item-x button { padding: .2rem .4rem; min-height: 1.7rem; }
.oficina-pdf-previa-lote canvas { display: block; max-width: none; margin: 0 auto; background: white; box-shadow: 0 2px 12px #0002; }
.oficina-pdf-campo-lote { position: absolute; z-index: 1; display: block; width: max-content; padding: 0; overflow: hidden; color: #111; background: #dbeafe99; outline: 1px dashed #1d4ed8; font-family: Helvetica, Arial, sans-serif; line-height: 1; white-space: nowrap; cursor: grab; user-select: none; touch-action: none; pointer-events: auto; }
.oficina-pdf-campo-lote:focus-visible, .oficina-pdf-campo-lote.arrastando { outline: 2px solid #1d4ed8; background: #dbeafe; }
.oficina-pdf-campo-lote.arrastando { cursor: grabbing; }
.oficina-pdf-marca-x { position: absolute; z-index: 2; width: 14px; height: 16px; font: 10px/1 Arial, sans-serif; color: #111; outline: 1px dashed #1d4ed8; background: #dbeafe99; cursor: grab; user-select: none; touch-action: none; pointer-events: auto; }
.oficina-pdf-marca-x:focus-visible, .oficina-pdf-marca-x.arrastando { outline: 2px solid #1d4ed8; background: #dbeafe; }
.oficina-pdf-marca-x.arrastando { cursor: grabbing; }
.oficina-pdf-lista { display: grid; gap: .45rem; padding-left: 1.5rem; }
.oficina-pdf-lista li { padding: .55rem .75rem; border: 1px solid #cbd5e1; border-radius: .5rem; overflow-wrap: anywhere; }
.oficina-pdf-lista-acoes { float: right; display: inline-flex; gap: .3rem; margin-left: .75rem; }
.oficina-pdf-lista-acoes button { min-width: 2rem; min-height: 2rem; padding: .2rem; }
@media (max-width: 900px) {
  .oficina-pdf-previas, .oficina-pdf-campos { grid-template-columns: 1fr; }
  .oficina-pdf-campos label:first-child { grid-column: auto; }
  .oficina-pdf-previa iframe { height: 520px; }
}

/* Mesa mensal de férias: períodos visíveis, vagas livres recolhidas. */
.navegacao-meses-ferias { display: flex; gap: 6px; align-items: stretch; margin-bottom: 16px; }
.navegacao-meses-ferias > button { flex: 0 0 42px; min-height: 44px; padding: 0; font-size: 1.4rem; }
.lista-meses-ferias { display: grid; grid-template-columns: repeat(12, minmax(45px, 1fr)); gap: 4px; min-width: 0; flex: 1; }
.lista-meses-ferias button { min-height: 44px; padding: 8px 3px; color: var(--grafite-azulado); background: #edf2f3; border-color: #d2dcdf; font-size: .75rem; font-weight: 800; }
.lista-meses-ferias .mes-navegacao-livre { color: #254c35; background: #dcecdf; border-color: #a8ccb2; }
.lista-meses-ferias .mes-navegacao-livre:hover { background: #c8e2ce; }
.lista-meses-ferias .mes-navegacao-parcial { color: #694b12; background: #fff0c5; border-color: #ddc37c; }
.lista-meses-ferias .mes-navegacao-parcial:hover { background: #f6e3a5; }
.lista-meses-ferias .mes-navegacao-lotado { color: #842727; background: #f8dddd; border-color: #d99d9d; }
.lista-meses-ferias .mes-navegacao-lotado:hover { background: #efc4c4; }
.lista-meses-ferias .mes-navegacao-livre.mes-navegacao-ativo { color: #fff; background: #466b57; border-color: #466b57; }
.lista-meses-ferias .mes-navegacao-livre.mes-navegacao-ativo:hover { background: #345a45; }
.lista-meses-ferias .mes-navegacao-parcial.mes-navegacao-ativo { color: #fff; background: #9b6b21; border-color: #9b6b21; }
.lista-meses-ferias .mes-navegacao-parcial.mes-navegacao-ativo:hover { background: #805516; }
.lista-meses-ferias .mes-navegacao-lotado.mes-navegacao-ativo { color: #fff; background: #a64646; border-color: #a64646; }
.lista-meses-ferias .mes-navegacao-lotado.mes-navegacao-ativo:hover { background: #8e3333; }
.navegacao-meses-ferias button:focus-visible, .vagas-livres-mesa-ferias summary:focus-visible { outline: 3px solid #1d5271; outline-offset: 2px; }
.resumo-mes-mesa-ferias { display: flex; align-items: baseline; justify-content: space-between; flex-wrap: wrap; gap: 5px 20px; margin-bottom: 12px; }
.resumo-mes-mesa-ferias h3 { margin: 0; color: var(--grafite-profundo); font-size: 1.05rem; }
.resumo-mes-mesa-ferias p { margin: 0; color: var(--texto-suave); font-size: .8rem; font-weight: 700; }
.mesa-calendario-ferias { display: grid; grid-template-columns: minmax(0, 1fr); align-items: start; gap: 14px; }
.grade-quadros-mes-ferias { display: grid; grid-template-columns: minmax(0, 1fr); gap: 14px; min-width: 0; }
.grade-quadros-mes-ferias > .quadro-grupo-ferias { margin: 0; }
.quadro-mesa-ferias { min-width: 0; overflow: hidden; background: #fff; border: 1px solid var(--borda); border-radius: 7px; }
.controle-contingencia[hidden], .controle-contingencia [hidden] { display: none !important; }
.controle-contingencia { border-left: 5px solid #96721e; }
.controle-contingencia textarea { display: block; width: 100%; box-sizing: border-box; margin: 8px 0 14px; }
.acoes-contingencia { display: flex; flex-wrap: wrap; gap: 10px; }
.acoes-contingencia button:disabled { opacity: .45; cursor: not-allowed; }
.controle-contingencia .aviso-contingencia { padding: 12px; color: #694c08; background: #fff0c7; font-weight: 700; }
.quadro-mesa-ferias .cabecalho-quadro-ferias { min-height: 66px; padding: 0 10px 0 0; border-radius: 0; }
.quadro-mesa-ferias .cabecalho-quadro-ferias h3 { flex: 1; min-width: 0; margin: 0; color: #fff; font-size: .83rem; }
.quadro-mesa-ferias .alternar-quadro-ferias { position: relative; display: flex; flex-direction: column; justify-content: center; gap: 2px; width: 100%; min-height: 66px; padding: 9px 32px 9px 10px; color: #fff; background: transparent; border: 0; border-radius: 0; text-align: left; cursor: pointer; }
.quadro-mesa-ferias .alternar-quadro-ferias:hover { background: #ffffff1a; }
.quadro-mesa-ferias .alternar-quadro-ferias:focus-visible { outline: 3px solid #fff; outline-offset: -4px; }
.quadro-mesa-ferias .alternar-quadro-ferias::after { position: absolute; right: 11px; top: 50%; content: '⌄'; font-size: 1.1rem; transform: translateY(-50%); }
.quadro-mesa-ferias .alternar-quadro-ferias[aria-expanded="false"]::after { transform: translateY(-50%) rotate(-90deg); }
.quadro-mesa-ferias .alternar-quadro-ferias strong { font-size: .83rem; }
.quadro-mesa-ferias .alternar-quadro-ferias span { margin: 0; color: #edf1f2; font-size: .74rem; font-weight: 400; }
.quadro-mesa-ferias .botao-adicionar-vaga-ferias { min-height: 38px; padding: 7px 9px; font-size: .72rem; }
.conteudo-quadro-ferias[hidden] { display: none; }
.tabela-mesa-ferias { overflow-x: auto; }
.tabela-mesa-ferias table { width: 100%; min-width: 1060px; table-layout: fixed; }
.tabela-mesa-ferias th, .tabela-mesa-ferias td { padding: 7px 5px; font-size: .69rem; vertical-align: middle; }
.tabela-mesa-ferias th { color: var(--grafite-azulado); background: #edf2f3; text-align: left; }
.tabela-mesa-ferias th:nth-child(1) { width: 7%; }
.tabela-mesa-ferias th:nth-child(2) { width: 22%; min-width: 0; }
.tabela-mesa-ferias th:nth-child(3) { width: 12%; min-width: 0; }
.tabela-mesa-ferias th:nth-child(4) { width: 12%; min-width: 0; }
.tabela-mesa-ferias th:nth-child(5) { width: 10%; min-width: 0; }
.tabela-mesa-ferias th:nth-child(6), .tabela-mesa-ferias th:nth-child(7) { width: 9%; }
.tabela-mesa-ferias th:nth-child(8) { width: 8%; }
.tabela-mesa-ferias th:nth-child(9) { width: 11%; }
.celula-identidade-mesa-ferias, .celula-data-mesa-ferias { white-space: nowrap; }
.celula-nome-mesa-ferias { color: var(--grafite-profundo); font-weight: 700; overflow-wrap: break-word; }
.celula-posto-mesa-ferias { overflow-wrap: break-word; }
.celula-distribuicao-mesa-ferias { text-align: center; }
.celula-distribuicao-mesa-ferias span { display: block; min-height: 1.4em; }
.celula-distribuicao-mesa-ferias span + span { margin-top: 3px; padding-top: 3px; border-top: 1px solid #cbd5d8; }
.selo-mesa-ferias { display: inline-flex; padding: 5px 7px; border-radius: 5px; font-size: .69rem; font-weight: 800; line-height: 1.2; }
.selo-prevista-mesa-ferias { color: #174965; background: #dcecf5; }
.selo-confirmada-mesa-ferias { color: #6d5114; background: #fff0c7; }
.selo-excedida-mesa-ferias { color: #842727; background: #f8dddd; }
.mesa-sem-periodos-ferias { margin: 0; padding: 18px 12px; color: var(--texto-suave); font-size: .76rem; }
.rodape-vagas-mesa-ferias { min-height: 42px; padding: 0 12px; color: #315940; background: #e9f3eb; font-size: .76rem; font-weight: 800; }
.rodape-vagas-mesa-ferias:not(:has(details)) { display: flex; align-items: center; }
.rodape-vagas-excedidas { color: #842727; background: #f8dddd; }
.vagas-livres-mesa-ferias summary { min-height: 42px; display: flex; align-items: center; cursor: pointer; }
.vagas-livres-mesa-ferias ol { display: grid; grid-template-columns: repeat(auto-fit, minmax(125px, 1fr)); gap: 5px 14px; margin: 0; padding: 0 0 12px 18px; font-size: .7rem; font-weight: 500; }
.alertas-mes-ferias { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; padding: 14px; background: #f5f7f7; border: 1px solid var(--borda); border-radius: 7px; }
.alertas-mes-ferias h3 { grid-column: 1 / -1; margin: 0; color: var(--grafite-profundo); font-size: .9rem; }
.alertas-mes-ferias p { margin: 0; padding: 10px; background: #fff; border: 1px solid #dce3e5; border-radius: 5px; color: var(--grafite-azulado); font-size: .75rem; }
.alertas-mes-ferias .alerta-excesso-mesa-ferias { color: #842727; background: #fff0ef; border-color: #dfa8a5; font-weight: 800; }
.alertas-mes-ferias .alerta-normal-mesa-ferias { color: #315940; background: #e9f3eb; border-color: #bcd4c2; }
.alertas-mes-ferias .dica-alertas-mesa-ferias { grid-column: 1 / -1; color: var(--texto-suave); background: transparent; border: 0; padding: 0; line-height: 1.45; }
@media (max-width: 1050px) {
  .lista-meses-ferias { display: flex; overflow-x: auto; scrollbar-width: thin; }
  .lista-meses-ferias button { flex: 0 0 56px; }
}
@media (max-width: 760px) {
  .alertas-mes-ferias { grid-template-columns: 1fr; }
  .resumo-mes-mesa-ferias { align-items: flex-start; flex-direction: column; }
  .quadro-mesa-ferias .cabecalho-quadro-ferias { align-items: stretch; }
  .quadro-mesa-ferias .botao-adicionar-vaga-ferias { min-height: 44px; }
}
/* Avisos do ensaio: dialog mantém foco contido e o fundo inerte. */
/* Atributo aplicado somente na 8081. O texto continua identificando cada estado. */
[data-resultado-corcel] {
  font-weight: 700;
  padding: 10px 12px;
  border-inline-start: 4px solid currentColor;
  border-radius: 4px;
  overflow-wrap: anywhere;
}
[data-resultado-corcel="sucesso"] { color: #185b35; background: #edf8f0; }
[data-resultado-corcel="atencao"] { color: #765000; background: #fff5d6; }
[data-resultado-corcel="erro"] { color: #922637; background: #fff0f2; }
[data-resultado-corcel="informacao"] { color: #20566f; background: #edf5fa; }
.aviso-corcel {
  box-sizing: border-box;
  width: min(560px, calc(100% - 32px));
  max-height: calc(100dvh - 32px);
  margin: auto;
  padding: 28px;
  border: 1px solid #c7d1d5;
  border-top: 6px solid #405660;
  border-radius: 14px;
  background: #f7fafb;
  color: #192c35;
  box-shadow: 0 20px 70px #0005;
  overflow: auto;
}
.aviso-corcel::backdrop { background: #0c1829aa; }
.aviso-corcel .aviso-corcel-categoria { margin: 0 0 12px; font-size: .8rem; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; }
.aviso-corcel h2 { margin: 0 0 16px; font-size: 1.5rem; }
.aviso-corcel #aviso-corcel-texto { white-space: pre-line; overflow-wrap: anywhere; line-height: 1.6; }
.aviso-corcel-acoes { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 12px; margin-top: 24px; }
.aviso-corcel-acoes button { min-height: 44px; }
.aviso-corcel button:focus-visible { outline: 3px solid #007eae; outline-offset: 3px; }
.aviso-corcel-perigo { border-top-color: #a32938; }
.aviso-corcel-perigo .aviso-corcel-acoes button:last-child { background: #a32938; color: white; }
@media (max-width: 480px) { .aviso-corcel { padding: 20px; } .aviso-corcel-acoes button { flex: 1 1 100%; } }
.faixa-emergencia { position: sticky; top: 0; z-index: 20; padding: 14px; margin-bottom: 20px; border: 2px solid #916511; border-radius: 8px; background: #fff1c6; color: #392b0e; font-weight: 700; }
.painel-emergencia { max-width: 1000px; margin: auto; }
#entrada-reserva[hidden] { display: none; }
#entrada-reserva input:not([type="checkbox"]), #entrada-reserva select { box-sizing: border-box; width: 100%; }
#entrada-reserva label { display: block; margin: 16px 0; }
@media print { .faixa-emergencia { display: none; } }
