/* Identidade aplicada apenas ao login e painel nesta primeira etapa. */
.nova-interface { --azul:#006caf; --grafite:#25333e; --muted:#5f7180; font-family:"Segoe UI",Arial,sans-serif; color:var(--grafite); background:#f4f7fa; }
.nova-interface button { background:var(--azul); border-radius:10px; min-height:44px; font-family:inherit; }
.nova-interface button:hover { background:#00588e; }
.nova-interface :is(a,button,input):focus-visible { outline:3px solid #009fea; outline-offset:4px; }
.nova-interface p { line-height:1.6; color:var(--muted); }
.sobretitulo { font-size:11px; font-weight:700; letter-spacing:2px; color:var(--azul); }
.acesso { max-width:1120px; margin:64px auto 24px; display:grid; grid-template-columns:1.15fr 1fr; background:white; border:1px solid #e0e8ee; border-radius:24px; overflow:hidden; box-shadow:0 20px 60px #2547620d; }
.acesso-apresentacao { position:relative; overflow:hidden; padding:42px 48px; background:linear-gradient(145deg,#eef7fc,#e3f0f8); }
.logo-login { width:204px; height:auto; position:relative; z-index:1; }
.apresentacao-texto { position:relative; z-index:1; margin:42px 0 38px; }
.apresentacao-texto h1 { font-size:38px; line-height:1.22; letter-spacing:-1.4px; margin:16px 0 20px; font-weight:650; }
.apresentacao-texto em { color:var(--azul); font-style:normal; }
.apresentacao-texto p { max-width:350px; font-size:16px; }
.acesso-etapas { display:flex; gap:25px; position:relative; z-index:1; font-size:12px; color:var(--azul); }
.acesso-etapas b { display:block; font-weight:600; margin-top:8px; color:var(--grafite); }
.rede-marca { position:absolute; width:220px; height:220px; border:2px solid #bed9e9; transform:rotate(24deg); right:-150px; bottom:15px; }
.rede-marca i { position:absolute; width:22px; height:22px; border-radius:50%; background:#0076bb; left:-12px; top:-12px; }
.rede-marca i:nth-child(2) { top:auto; bottom:-12px; background:#eb1725; }
.rede-marca i:nth-child(3) { left:auto; right:-12px; }
.acesso-formulario { padding:76px 48px 40px; }
.login-intro { margin-bottom:32px; }
.login-intro h2 { margin:14px 0 10px; font-size:27px; letter-spacing:-.7px; }
.login-intro p { font-size:14px; }
.nova-interface .campo input { background:#fbfcfd; padding:15px; border-color:#d4e0e8; font-family:inherit; }
.nova-interface .campo label { font-weight:600; }
.acesso-ajuda { margin:22px auto 0; font-size:12px; text-align:center; max-width:270px; }
.novo-rodape { text-align:center; color:#657786; font-size:12px; padding:24px; }
.novo-rodape span { color:#e51d2a; margin:0 10px; }
.topo-novo { background:white; border-bottom:1px solid #e0e8ee; padding:14px max(24px,calc((100% - 1120px)/2)); display:flex; align-items:center; gap:36px; }
.marca-link { display:flex; align-items:center; gap:18px; text-decoration:none; color:var(--grafite); font-weight:600; }
.marca-link img { width:115px; height:auto; }
.marca-link span { border-left:1px solid #dce5ec; padding-left:18px; font-size:14px; }
.topo-novo nav { display:flex; gap:22px; margin-left:auto; }
.topo-novo nav a { font-size:14px; color:var(--muted); text-decoration:none; padding:12px 0; }
.topo-novo nav a[aria-current] { color:var(--azul); border-bottom:2px solid var(--azul); font-weight:600; }
.conta { display:flex; gap:18px; align-items:center; font-size:13px; }
.conta strong { display:block; max-width:180px; overflow-wrap:anywhere; }
.conta span { display:block; font-size:10px; color:var(--muted); margin-top:4px; letter-spacing:1px; }
.nova-interface .botao-discreto { width:auto; background:transparent; color:var(--azul); border:1px solid #d4e0e8; padding:10px 16px; font-size:13px; }
.nova-interface .botao-discreto:hover { background:#eaf4fb; }
.painel-conteudo { max-width:1120px; margin:auto; padding:36px 0 12px; }
.painel-saudacao { display:flex; justify-content:space-between; align-items:center; margin-bottom:26px; gap:20px; }
.painel-saudacao h1 { font-size:30px; letter-spacing:-.7px; margin:8px 0 5px; }
.painel-saudacao p { font-size:14px; }
.painel-saudacao .status { margin:0; border:1px solid #dce5ec; border-radius:30px; padding:9px 14px; background:white; }
.painel-destaque { background:linear-gradient(110deg,#e3f2fc,#edf6fb); border:1px solid #d3e7f4; border-radius:18px; padding:30px 36px; display:flex; align-items:center; justify-content:space-between; gap:30px; margin-bottom:32px; }
.painel-destaque h2 { font-size:30px; line-height:1.2; letter-spacing:-.6px; margin:12px 0; }
.painel-destaque p { font-size:14px; }
.painel-destaque button { width:auto; padding:13px 24px; margin-top:22px; }
.destaque-etapas { display:grid; gap:20px; padding-right:50px; color:#456479; font-size:14px; }
.destaque-etapas span { display:flex; align-items:center; gap:14px; }
.destaque-etapas b { display:grid; place-items:center; width:36px; height:36px; border:1px solid #c8e0ef; border-radius:50%; background:#ffffffa0; color:var(--azul); font-size:12px; }
.secao-topo { display:flex; justify-content:space-between; align-items:center; gap:16px; margin-bottom:16px; }
.secao-topo h2,.administracao h2 { font-size:19px; font-weight:650; }
.secao-topo p,.secao-topo>span { font-size:12px; color:var(--muted); margin-top:5px; }
.resumo-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:16px; }
.resumo-card { background:white; border:1px solid #e0e8ee; border-radius:14px; padding:22px; }
.resumo-card>span { font-size:13px; color:var(--muted); }
.resumo-card strong { display:block; font-size:32px; font-weight:600; margin-top:12px; }
.ponto { display:inline-block; width:7px; height:7px; border-radius:50%; margin-right:5px; }
.andamento { background:#bc7600; }.finalizado { background:#0077bb; }.emitido { background:#18816b; }
.recentes-secao { margin-top:30px; }
.lista-recentes { border:1px solid #e0e8ee; border-radius:14px; overflow:hidden; background:white; }
.relatorio-recente { display:flex; align-items:center; justify-content:space-between; gap:16px; padding:18px 22px; border-bottom:1px solid #edf1f5; text-decoration:none; color:var(--grafite); }
.relatorio-recente:last-child { border-bottom:0; }
.relatorio-recente:hover { background:#f2f8fc; }
.relatorio-recente strong { display:block; font-size:14px; }
.relatorio-recente small { display:block; color:var(--muted); font-size:12px; margin-top:6px; }
.selo { font-size:11px; border-radius:20px; padding:7px 11px; white-space:nowrap; background:#f0f3f6; color:#526574; }
.selo-EM_GERACAO { background:#fff5df; color:#865400; }.selo-FINALIZADO { background:#e6f3fc; color:#00659d; }.selo-EMITIDO { background:#e8f5ef; color:#17694b; }
.estado-lista { padding:28px; font-size:14px; }
.administracao { margin-top:32px; }.admin-grid { display:grid; grid-template-columns:1fr 1fr; gap:16px; margin-top:16px; }
.admin-grid article { padding:22px; background:white; border:1px solid #e0e8ee; border-radius:14px; }.admin-grid h3 { font-size:15px; }.admin-grid strong { display:block; font-size:28px; margin:12px 0; }.admin-grid p { font-size:13px; }.admin-grid button { margin-top:16px; }
@media(max-width:1180px) { .acesso { margin:36px 24px 0; }.painel-conteudo { padding:30px 24px 12px; }.topo-novo { gap:22px; }.marca-link span { display:none; } }
@media(max-width:760px) { .acesso { grid-template-columns:1fr; max-width:520px; margin:24px auto 0; }.acesso-apresentacao { padding:28px; }.logo-login { width:145px; }.apresentacao-texto { margin:24px 0 0; }.apresentacao-texto h1 { font-size:29px; }.apresentacao-texto p,.acesso-etapas { display:none; }.acesso-formulario { padding:32px 28px; }.topo-novo { flex-wrap:wrap; padding:12px 20px; gap:12px; }.topo-novo nav { order:3; width:100%; margin:0; }.conta { margin-left:auto; gap:12px; }.conta strong { max-width:145px; }.painel-saudacao { align-items:flex-start; }.painel-saudacao .status { font-size:11px; }.painel-destaque { padding:26px; }.destaque-etapas { display:none; }.resumo-grid { grid-template-columns:1fr 1fr; }.secao-topo { flex-wrap:wrap; }.admin-grid { grid-template-columns:1fr; } }
@media(max-width:420px) { .acesso { margin:16px 12px 0; }.painel-conteudo { padding:26px 16px 12px; }.resumo-card { padding:16px 12px; }.resumo-card>span { font-size:12px; }.painel-saudacao { flex-direction:column; gap:12px; }.relatorio-recente { padding:16px 12px; gap:8px; } }
.relatorio-recente > div { min-width:0; overflow-wrap:anywhere; }
@media(max-width:760px) { .rede-marca { opacity:.25; } }

/* Consulta de relatórios: tabela no computador, registros empilhados no celular. */
.voltar-lista { display:inline-block; margin-bottom:24px; color:var(--azul); text-decoration:none; font-size:13px; padding:10px 0; }
.acao-primaria { display:inline-block; background:var(--azul); color:white; text-decoration:none; padding:14px 22px; border-radius:10px; font-size:14px; font-weight:600; white-space:nowrap; }
.acao-primaria:hover { background:#00588e; }
.consulta-filtros { display:flex; align-items:flex-end; gap:18px; padding:24px; background:white; border:1px solid #e0e8ee; border-radius:14px; }
.consulta-filtros .busca-campo { flex:1; }
.consulta-filtros label { display:block; font-size:13px; font-weight:600; margin-bottom:8px; }
.consulta-filtros input,.consulta-filtros select { width:100%; min-height:46px; padding:12px; border:1px solid #cbd9e3; background:#fbfcfd; border-radius:8px; font:inherit; font-size:14px; color:var(--grafite); }
.consulta-resumo { display:flex; justify-content:space-between; gap:14px; margin:22px 0 14px; font-size:12px; color:var(--muted); }
.consulta-tabela .tabela-relatorios { min-width:0; table-layout:fixed; }
.consulta-tabela th:first-child { width:23%; }
.consulta-tabela th:last-child { width:11%; }
.consulta-tabela td { overflow-wrap:anywhere; }
.consulta-tabela td small { display:block; font-size:11px; color:var(--muted); margin-top:7px; }
.consulta-tabela th { font-size:10px; letter-spacing:.5px; }
.abrir-relatorio { display:inline-block; color:var(--azul); font-size:13px; font-weight:600; padding:12px 0; text-decoration:none; }
.abrir-relatorio:hover { text-decoration:underline; }
.consulta-vazia,.consulta-erro { padding:40px 24px; text-align:center; background:white; border:1px solid #e0e8ee; border-radius:14px; margin-top:16px; }
.consulta-vazia h2 { font-size:20px; margin-bottom:10px; }
.consulta-vazia p,.consulta-erro p { font-size:14px; }
.consulta-erro button { margin-top:18px; }
@media(max-width:850px) {
    .consulta-filtros { flex-wrap:wrap; padding:20px; }
    .consulta-filtros .busca-campo { flex-basis:100%; }
    .consulta-filtros>div:not(.busca-campo) { flex:1; }
    .consulta-resumo { flex-direction:column; gap:4px; }
    .consulta-tabela { border:0; background:transparent; overflow:visible; }
    .consulta-tabela table,.consulta-tabela tbody { display:block; }
    .consulta-tabela thead { position:absolute; width:1px; height:1px; overflow:hidden; clip-path:inset(50%); }
    .consulta-tabela tr { display:block; background:white; border:1px solid #e0e8ee; border-radius:14px; margin-bottom:14px; padding:8px 18px; }
    .consulta-tabela td { display:flex; justify-content:space-between; align-items:center; gap:18px; padding:10px 0; border:0; text-align:right; font-size:13px; }
    .consulta-tabela td::before { content:attr(data-label); color:var(--muted); font-size:12px; text-align:left; flex-shrink:0; }
    .consulta-tabela td:first-child { display:block; text-align:left; padding:14px 0; border-bottom:1px solid #edf1f5; margin-bottom:8px; }
    .consulta-tabela td:first-child::before { display:none; }
    .consulta-tabela td:last-child { border-top:1px solid #edf1f5; margin-top:8px; }
}

/* Escolha do serviço e equipamento. */
.tela-selecao .escolha-intro { margin-bottom:28px; }
.tela-selecao .escolha-intro h1 { color:var(--grafite); margin-top:26px; font-size:30px; letter-spacing:-.7px; }
.tela-selecao .escolha-intro p { margin-top:10px; font-size:15px; }
.tela-selecao .opcoes-relatorio { display:grid; grid-template-columns:1fr 1fr; gap:20px; }
.tela-selecao .opcao-relatorio { position:relative; width:100%; padding:28px; min-height:185px; background:white; border:2px solid #dde7ee; border-radius:16px; font-family:inherit; }
.tela-selecao .opcao-relatorio::after { content:""; position:absolute; right:24px; top:26px; width:22px; height:22px; border:2px solid #c8d7e2; border-radius:50%; }
.tela-selecao .opcao-relatorio:hover { background:#f8fcff; border-color:#86bddc; transform:none; box-shadow:0 6px 20px #234d6810; }
.tela-selecao .opcao-relatorio.selecionado { background:#edf7fd; border-color:var(--azul); box-shadow:0 0 0 1px var(--azul); }
.tela-selecao .opcao-relatorio.selecionado::after { content:"✓"; display:grid; place-items:center; background:var(--azul); border-color:var(--azul); color:white; font-size:14px; }
.tela-selecao .opcao-codigo { color:var(--azul); font-size:11px; letter-spacing:1.5px; margin-bottom:24px; padding-right:35px; }
.tela-selecao .opcao-titulo { color:var(--grafite); font-size:20px; line-height:1.3; max-width:360px; }
.tela-selecao .opcao-descricao { font-weight:400; color:var(--muted); margin-top:4px; }
.tela-selecao .selecao-atual { margin-top:24px; border-color:#dce7ef; border-radius:14px; box-shadow:none; padding:22px 26px; }
.tela-selecao .selecao-label { color:var(--muted); margin-bottom:8px; }
.tela-selecao #textoSelecao { font-size:15px; line-height:1.5; }
@media(max-width:700px) {
    .tela-selecao .opcoes-relatorio { grid-template-columns:1fr; gap:14px; }
    .tela-selecao .opcao-relatorio { min-height:160px; padding:22px; }
    .tela-selecao .opcao-titulo { font-size:18px; }
    .tela-selecao .opcao-codigo { margin-bottom:16px; }
}

/* Formulário: estrutura e campos existentes, com identidade visual própria. */
.tela-formulario .barra-pagina h1 { color:var(--grafite); font-size:30px; letter-spacing:-.6px; margin-top:26px; line-height:1.25; }
.tela-formulario .barra-pagina p { margin-top:10px; font-size:15px; }
.orientacao-formulario { font-size:13px; margin-bottom:18px; }
.atalhos-formulario { display:flex; flex-wrap:wrap; gap:8px; margin-bottom:26px; }
.atalhos-formulario a { display:inline-block; padding:12px 16px; background:white; border:1px solid #d9e5ed; border-radius:9px; color:var(--azul); text-decoration:none; font-size:13px; }
.atalhos-formulario a:hover { background:#eaf5fc; }
.tela-formulario #formRelatorio { counter-reset:bloco; }
.tela-formulario .secao-formulario { padding:30px; border-radius:16px; border-color:#dfe8ee; box-shadow:none; margin-bottom:22px; scroll-margin-top:22px; counter-increment:bloco; }
.tela-formulario .secao-formulario h2 { display:flex; align-items:center; gap:12px; color:var(--grafite); font-size:20px; line-height:1.3; }
.tela-formulario .secao-formulario h2::before { content:counter(bloco,decimal-leading-zero); display:grid; place-items:center; width:34px; height:34px; flex-shrink:0; border-radius:10px; background:#eaf5fc; color:var(--azul); font-size:12px; }
.tela-formulario .campo-form label { color:#415465; margin-bottom:9px; }
.tela-formulario .campo-form :is(input,textarea,select) { border-color:#cfdee8; border-radius:9px; background:#fcfdfe; font-family:inherit; font-size:16px; min-height:46px; }
.tela-formulario .campo-form input[readonly] { background:#edf3f7; color:#546a79; }
.tela-formulario .campo-form :is(input,textarea,select):focus { border-color:var(--azul); box-shadow:0 0 0 3px #0076bb18; }
.tela-formulario .form-linha:last-child { margin-bottom:0; }
.tela-formulario .participante-card { background:#f7fafc; border-color:#e0e9ef; border-radius:12px; padding:22px; }
.tela-formulario .participante-titulo { color:var(--azul); }
.tela-formulario .btn-secundario { background:white; color:var(--azul); border-color:#bad4e5; }
.tela-formulario .btn-secundario:hover { background:#edf7fd; }
.tela-formulario .btn-remover-participante { background:white; color:#b42318; border-color:#f1c6c3; min-height:44px; }
.tela-formulario .btn-remover-participante:hover { background:#fff0ef; }
.tela-formulario .tabela-servicos-form .tabela-relatorios { min-width:0; table-layout:fixed; }
.tela-formulario .tabela-servicos-form th:nth-child(1) { width:95px; }
.tela-formulario .tabela-servicos-form th:nth-child(2) { width:65px; }
.tela-formulario .tabela-servicos-form th:nth-child(4) { width:130px; }
.tela-formulario .tabela-servicos-form td { overflow-wrap:anywhere; line-height:1.5; }
.tela-formulario .quantidade-servico { min-height:46px; font-size:16px; border-color:#c6dbe8; }
.tela-formulario .foto-form-card { border:1px solid #d4e3ed; border-radius:12px; background:white; }
.tela-formulario .foto-preview { background:#f0f6fa; color:#567388; height:180px; }
.tela-formulario .btn-selecionar-foto { color:var(--azul); padding:15px; position:relative; }
.tela-formulario .input-foto { display:block; position:absolute; width:1px; height:1px; padding:0; opacity:0; }
.tela-formulario .btn-selecionar-foto:focus-within { outline:3px solid #009fea; outline-offset:-3px; }
.tela-formulario .acoes-formulario { padding:24px; border-color:#cfe1ee; border-radius:14px; background:#eaf5fc; flex-wrap:wrap; }
.tela-formulario .acoes-formulario>div { flex:1; min-width:180px; }
.tela-formulario .acoes-formulario button { width:auto; padding:14px 24px; }
.tela-formulario #btnSalvar { background:white; color:var(--azul); border:1px solid #a6cbdf; }
.tela-formulario #btnSalvar:hover { background:#f5fbff; }
.tela-formulario #mensagemFormulario { margin-bottom:20px; line-height:1.5; }
@media(max-width:750px) {
    .tela-formulario .secao-formulario { padding:22px 18px; }
    .tela-formulario .secao-formulario h2 { font-size:18px; }
    .tela-formulario .acoes-formulario button { width:100%; }
    .tela-formulario .atalhos-formulario a { padding:12px; }
    .tela-formulario .tabela-servicos-form thead { position:absolute; width:1px; height:1px; overflow:hidden; clip-path:inset(50%); }
    .tela-formulario .tabela-servicos-form table,.tela-formulario .tabela-servicos-form tbody { display:block; }
    .tela-formulario .tabela-servicos-form tr { display:flex; flex-wrap:wrap; gap:8px; padding:16px; border-bottom:1px solid #dce7ef; }
    .tela-formulario .tabela-servicos-form td { border:0; padding:0; width:auto; }
    .tela-formulario .tabela-servicos-form td:nth-child(1)::before { content:"SIAGO: "; color:#667085; }
    .tela-formulario .tabela-servicos-form td:nth-child(2)::before { content:"I/R: "; color:#667085; }
    .tela-formulario .tabela-servicos-form td:nth-child(3) { flex-basis:100%; padding:8px 0; }
    .tela-formulario .tabela-servicos-form td:nth-child(4) { display:flex; align-items:center; justify-content:space-between; width:100%; gap:12px; }
    .tela-formulario .tabela-servicos-form td:nth-child(4)::before { content:"Quantidade"; font-size:13px; color:#415465; }
}

/* Detalhes: leitura, situação e ações do documento. */
.tela-detalhe .barra-pagina h1 { color:var(--grafite); font-size:32px; margin-top:24px; letter-spacing:-.6px; overflow-wrap:anywhere; }
.tela-detalhe .barra-pagina p { margin-top:8px; font-size:15px; }
.resumo-detalhe { padding:22px 26px; background:#eaf5fc; border:1px solid #cfe3f0; border-radius:14px; margin-bottom:18px; display:flex; align-items:center; gap:18px; }
.resumo-detalhe p { font-size:14px; }
.resumo-detalhe .selo { background:white; font-weight:600; border:1px solid #d5e4ee; }
.tela-detalhe .acoes-relatorio { flex-wrap:wrap; gap:12px; margin-bottom:26px; }
.tela-detalhe .acoes-relatorio button { width:auto; min-height:46px; padding:13px 22px; }
.tela-detalhe #btnEditarRelatorio { order:0; background:white; color:var(--azul); border-color:#bad4e5; }
.tela-detalhe #btnFinalizarRelatorio { order:1; }
.tela-detalhe #btnCancelarRelatorio { order:2; margin-left:auto; color:#b42318; background:white; border-color:#efc8c4; }
.tela-detalhe #btnCancelarRelatorio:hover { background:#fff0ef; }
.tela-detalhe .secao-detalhe { padding:28px; border-radius:16px; border-color:#dfe8ee; box-shadow:none; }
.tela-detalhe .secao-detalhe h2 { color:var(--grafite); font-size:20px; border-bottom:1px solid #e5edf3; padding-bottom:18px; }
.tela-detalhe .detalhe-grid { grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; }
.tela-detalhe .detalhe-item { gap:9px; border-color:#edf2f6; min-width:0; }
.tela-detalhe .detalhe-label { font-size:11px; letter-spacing:.6px; color:var(--muted); }
.tela-detalhe .detalhe-valor { font-size:15px; line-height:1.5; overflow-wrap:anywhere; }
.tela-detalhe .texto-relatorio { font-size:15px; line-height:1.8; overflow-wrap:anywhere; }
.tela-detalhe .tabela-relatorios { min-width:0; }
.tela-detalhe .tabela-relatorios td { overflow-wrap:anywhere; line-height:1.5; }
.tela-detalhe .tabela-relatorios th { font-size:11px; }
.tela-detalhe .foto-imagem { object-fit:contain; }
.tela-detalhe .foto-imagem-container { background:#f0f5f8; }
.tela-detalhe .foto-detalhe { overflow-wrap:anywhere; }
@media(max-width:750px) {
    .tela-detalhe .detalhe-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px; }
    .tela-detalhe .secao-detalhe { padding:22px 18px; }
    .resumo-detalhe { flex-direction:column; align-items:flex-start; padding:20px; gap:12px; }
    .tela-detalhe .acoes-relatorio button { width:100%; }
    .tela-detalhe .tabela-relatorios { min-width:540px; }
    .tela-detalhe .tabela-container { overflow-x:auto; }
}
@media(max-width:420px) {
    .tela-detalhe .detalhe-grid { grid-template-columns:1fr; }
    .tela-detalhe .secao-detalhe h2 { font-size:18px; }
}

/* Menu comum: opção de consulta geral visível apenas aos perfis autorizados. */
.topo-novo nav a[hidden] { display:none; }
.topo-novo nav { flex-wrap:wrap; }
@media(min-width:761px) and (max-width:1100px) {
    .topo-novo { flex-wrap:wrap; }
    .topo-novo .conta { margin-left:auto; }
    .topo-novo nav { order:3; width:100%; margin-left:0; }
}
@media(max-width:420px) {
    .topo-novo nav { gap:14px; }
    .topo-novo nav a { font-size:12px; }
}

.consulta-paginacao { display: flex; justify-content: center; align-items: center; gap: 16px; margin-top: 24px; flex-wrap: wrap; }
.consulta-paginacao button { width: auto; }
