/* Table */
table {
	border-collapse: collapse;
	border-spacing: 0;
   
    
}
	.table-wrapper {
		-webkit-overflow-scrolling: touch;
		background-color: #FFF;
        overflow: hidden; 
        
        
	}

	table {
		margin: 0 0 0 0;
		width: 100%;
	}

		table tbody tr {
			border: solid 10px #DDD;
			border-left: 0;
			border-right: 0;
            text-transform: uppercase;
		}

			table tbody tr:nth-child(2n + 1) {
				background-color: #ffffff;
			}
			table tbody tr:nth-child(2n + 2) {
				background-color: #f2f2f2;
			}

/* Modo claro: zebrado nas <td> (com border-collapse:separate o fundo do <tr> não pinta) */
html:not(.modo-escuro) table.alt tbody tr:nth-child(odd):not([class*="tr_sanfona"]):not(.selecionada) > td,
html:not(.modo-escuro) table.alt tbody tr:nth-child(odd):not([class*="tr_sanfona"]):not(.selecionada) > th,
html:not(.modo-escuro) table.dataTable tbody tr.odd:not([class*="tr_sanfona"]):not(.selecionada) > td,
html:not(.modo-escuro) table.dataTable tbody tr:nth-child(odd):not([class*="tr_sanfona"]):not(.selecionada) > td,
html:not(.modo-escuro) .table-striped > tbody > tr:nth-of-type(odd):not([class*="tr_sanfona"]):not(.selecionada) > td {
	background-color: #ffffff;
}
html:not(.modo-escuro) table.alt tbody tr:nth-child(even):not([class*="tr_sanfona"]):not(.selecionada) > td,
html:not(.modo-escuro) table.alt tbody tr:nth-child(even):not([class*="tr_sanfona"]):not(.selecionada) > th,
html:not(.modo-escuro) table.dataTable tbody tr.even:not([class*="tr_sanfona"]):not(.selecionada) > td,
html:not(.modo-escuro) table.dataTable tbody tr:nth-child(even):not([class*="tr_sanfona"]):not(.selecionada) > td,
html:not(.modo-escuro) .table-striped > tbody > tr:nth-of-type(even):not([class*="tr_sanfona"]):not(.selecionada) > td {
	background-color: #f2f2f2;
}

		table td {
			padding: 0.75em 0.75em;
            font-size: 1em;
           
            
            
		}

		table th {
			color: #0275d8;
			font-size: 1em;
			font-weight: 600;
			padding: 8px 8px 9px 8px;
			text-align: left;
            border: solid 1px #DDD;
            
				border-left-width: 0;
				border-top-width: 0;
            
		}
@media screen and (max-width: 736px) {
    
    table th {font-size: 0.8em;}
    table td {font-size: 0.8em;}
}
		table thead {
			border-bottom: solid 2px #FFF;
            
                
            
		}

		table tfoot {
			/* era #fff — gerava vão branco entre o conteúdo e a barra de dicas */
			border-top: solid 2px transparent;
		}

		table.alt {
			border-collapse: separate;
            /* color: #cor_padrao; */
            
        
                            
		}


			table.alt tbody tr td   {
				border: solid 1px #DDD;
				border-left-width: 0;
				border-top-width: 0;
                padding: 0px 8px 0px 8px;
                height: 35px;
                vertical-align: middle;
                
			}
			table.alt thead th   {
				
                border-bottom: none;
                border-top: 1px solid #DDD;
                background-color: #f9f9f9; /*f9f9f9*/
                
			}

				table.alt tbody tr td:first-child {
					border-left-width: 1px;
                  
				}	
             table.alt thead tr th:first-child {
					border-left-width: 1px;
                  
				}	
             table.alt tfoot tr th:first-child {
				 border-left-width: 1px;
                 background-color: #e9f1f4;
                 font-weight: 100;
                     
                  
				}

			table.alt tbody tr:first-child td {
				border-top-width: 1px;
			}

			table.alt thead {
				border-bottom: 0;		}

			table.alt tfoot {
				border-top: 0;
                
			}
.table-hover>tbody>tr:hover{
	background-color: #d9edf7; /*cor destaque linha quando hover*/
	color: #0275d8;
	cursor: pointer;
  }
.tr_link:hover{
	background-color: #d9edf7; /*cor destaque linha quando hover*/
	color: #0275d8;
	cursor: pointer;
}
.tr_sanfona:hover,
.tr_sanfona_azul:hover,
.tr_sanfona_verde:hover,
.tr_sanfona_amarelo:hover,
.tr_sanfona_roxo:hover {
	cursor: pointer;
}

/*
 * Painel da sanfona: table-row (não contents) — estável em claro/escuro.
 * Estado aberto: .is-open no #detalhes_* + .selecionada no #linha_*.
 */
tr.sanfona-painel,
tr[id^="detalhes_"] {
	display: none;
}
tr.sanfona-painel.is-open,
tr[id^="detalhes_"].is-open {
	display: table-row;
}

/*
 * Título da sanfona: ocupa até o total (badge).
 * padding-right preserva a folga da seta (removida), mantendo o tamanho do td.
 */
tr[id^="linha_"] > td > table.tabela_sem_bordas {
	width: 100%;
	table-layout: auto;
}
tr[id^="linha_"] > td > table.tabela_sem_bordas > tbody > tr > td:first-child {
	position: relative;
	width: 100%;
	padding-right: 1.75em !important;
	cursor: pointer;
	box-sizing: border-box;
}
/*
 * Espaçador 32px vazio: colapsa para o título encostar no total.
 * Células com ícone de ação (+, editar, etc.) NÃO colapsam.
 */
tr[id^="linha_"] > td > table.tabela_sem_bordas > tbody > tr > td[style*="width: 32px"]:not(:last-child):not(:has(i)):not(:has(a)):not(:has(button)),
tr[id^="linha_"] > td > table.tabela_sem_bordas > tbody > tr > td[style*="width:32px"]:not(:last-child):not(:has(i)):not(:has(a)):not(:has(button)) {
	width: 0 !important;
	min-width: 0 !important;
	max-width: 0 !important;
	padding: 0 !important;
	overflow: hidden;
	border: none !important;
	font-size: 0;
	line-height: 0;
}
/* Ação (+ / editar): cabe o ícone + folga de 4px até o total */
tr[id^="linha_"] > td > table.tabela_sem_bordas > tbody > tr > td[style*="width: 32px"]:not(:last-child):has(i),
tr[id^="linha_"] > td > table.tabela_sem_bordas > tbody > tr > td[style*="width:32px"]:not(:last-child):has(i),
tr[id^="linha_"] > td > table.tabela_sem_bordas > tbody > tr > td[style*="width: 32px"]:not(:last-child):has(a),
tr[id^="linha_"] > td > table.tabela_sem_bordas > tbody > tr > td[style*="width:32px"]:not(:last-child):has(a),
tr[id^="linha_"] > td > table.tabela_sem_bordas > tbody > tr > td[style*="width: 32px"]:not(:last-child):has(button),
tr[id^="linha_"] > td > table.tabela_sem_bordas > tbody > tr > td[style*="width:32px"]:not(:last-child):has(button) {
	width: 20px !important;
	min-width: 20px !important;
	max-width: 20px !important;
	padding: 0 4px 0 0 !important;
	text-align: center !important;
	vertical-align: middle !important;
	box-sizing: content-box !important;
}
/* Total 32px: largura fixa — “01” e ícone zero na mesma coluna */
tr[id^="linha_"] > td > table.tabela_sem_bordas > tbody > tr > td:last-child[style*="width: 32px"],
tr[id^="linha_"] > td > table.tabela_sem_bordas > tbody > tr > td:last-child[style*="width:32px"] {
	width: 32px !important;
	min-width: 32px !important;
	max-width: 32px !important;
	padding: 0 2px 0 0 !important;
	text-align: center !important;
	vertical-align: middle !important;
	white-space: nowrap !important;
	box-sizing: border-box !important;
}
tr[id^="linha_"] > td > table.tabela_sem_bordas > tbody > tr > td:last-child {
	width: 1%;
	white-space: nowrap;
	vertical-align: middle;
}
tr[id^="linha_"] > td > table.tabela_sem_bordas > tbody > tr > td:last-child > i {
	vertical-align: middle;
	line-height: 1;
}

.tr_sanfona{
    color:#a94442; background-color:#f2dede; font-weight: 100; text-transform: none;
}
/*
 * table.alt usa border-collapse:separate — o fundo do <tr> não pinta a célula.
 * Pintar o <td> (e deixar tabelas internas transparentes) restaura o vermelho/azul/etc.
 * Hover no modo claro: mesma família de cor da sanfona (como no modo escuro).
 */
html:not(.modo-escuro) table.alt tbody tr.tr_sanfona > td,
html:not(.modo-escuro) table.alt tbody tr.tr_sanfona.selecionada > td {
	background-color: #f2dede !important;
	color: #a94442;
}
html:not(.modo-escuro) table.alt tbody tr.tr_sanfona:hover > td,
html:not(.modo-escuro) table.alt tbody tr.tr_sanfona.selecionada:hover > td {
	background-color: #e8cbcb !important;
	color: #a94442;
}
html:not(.modo-escuro) table.alt tbody tr.tr_sanfona_azul > td,
html:not(.modo-escuro) table.alt tbody tr.tr_sanfona_azul.selecionada > td {
	background-color: #e9f1f4 !important;
	color: #0275d8;
}
html:not(.modo-escuro) table.alt tbody tr.tr_sanfona_azul:hover > td,
html:not(.modo-escuro) table.alt tbody tr.tr_sanfona_azul.selecionada:hover > td {
	background-color: #d9edf7 !important;
	color: #0275d8;
}
html:not(.modo-escuro) table.alt tbody tr.tr_sanfona_verde > td,
html:not(.modo-escuro) table.alt tbody tr.tr_sanfona_verde.selecionada > td {
	background-color: #dff0d8 !important;
	color: #3c763d;
}
html:not(.modo-escuro) table.alt tbody tr.tr_sanfona_verde:hover > td,
html:not(.modo-escuro) table.alt tbody tr.tr_sanfona_verde.selecionada:hover > td {
	background-color: #cce8c0 !important;
	color: #3c763d;
}
html:not(.modo-escuro) table.alt tbody tr.tr_sanfona_amarelo > td,
html:not(.modo-escuro) table.alt tbody tr.tr_sanfona_amarelo.selecionada > td {
	background-color: #fcf8e3 !important;
	color: #8a6d3b;
}
html:not(.modo-escuro) table.alt tbody tr.tr_sanfona_amarelo:hover > td,
html:not(.modo-escuro) table.alt tbody tr.tr_sanfona_amarelo.selecionada:hover > td {
	background-color: #faf2cc !important;
	color: #8a6d3b;
}
html:not(.modo-escuro) table.alt tbody tr.tr_sanfona_roxo > td,
html:not(.modo-escuro) table.alt tbody tr.tr_sanfona_roxo.selecionada > td {
	background-color: #f3e8ff !important;
	color: #6f42c1;
}
html:not(.modo-escuro) table.alt tbody tr.tr_sanfona_roxo:hover > td,
html:not(.modo-escuro) table.alt tbody tr.tr_sanfona_roxo.selecionada:hover > td {
	background-color: #e4d4f5 !important;
	color: #6f42c1;
}
/* .selecionada sem classe de sanfona colorida: azul (legado) */
html:not(.modo-escuro) table.alt tbody tr.selecionada:not([class*="tr_sanfona"]) > td {
	background-color: #d9edf7 !important;
	color: #0275d8;
}
html:not(.modo-escuro) table.alt tbody tr.selecionada:not([class*="tr_sanfona"]):hover > td {
	background-color: #d9edf7 !important;
	color: #0275d8;
}
html:not(.modo-escuro) table.alt tbody tr[class*="tr_sanfona"] > td table,
html:not(.modo-escuro) table.alt tbody tr[class*="tr_sanfona"] > td table tr,
html:not(.modo-escuro) table.alt tbody tr[class*="tr_sanfona"] > td table td,
html:not(.modo-escuro) table.alt tbody tr.selecionada > td table,
html:not(.modo-escuro) table.alt tbody tr.selecionada > td table tr,
html:not(.modo-escuro) table.alt tbody tr.selecionada > td table td {
	background: transparent !important;
	background-color: transparent !important;
}
/* Toggle na sanfona: trilha/knob na cor do texto da barra */
tr[class*="tr_sanfona"] .switch .slider {
	background-color: color-mix(in srgb, currentColor 42%, transparent);
}
tr[class*="tr_sanfona"] .switch .slider::before {
	background-color: #fff;
}
tr[class*="tr_sanfona"] .switch input:checked + .slider {
	background-color: #fff;
}
tr[class*="tr_sanfona"] .switch input:checked + .slider::before {
	background-color: currentColor;
}
.tr_sanfona_azul{
    color:#0275d8;background-color:#e9f1f4; font-weight: 100; text-transform: none;
}
.tr_sanfona_verde{
	color:#3c763d;background-color:#dff0d8;font-weight: 100; text-transform: none;
}
.tr_sanfona_amarelo{
	color:#8a6d3b;background-color:#fcf8e3;font-weight: 100; text-transform: none;
}
.tr_sanfona_roxo{
	color:#6f42c1;background-color:#f3e8ff;font-weight: 100; text-transform: none;
}
/* Etiqueta amarela: .amarelo em main.css só define #f1c40f (pouco contraste no fundo listrado da tabela) */
html:not(.modo-escuro) table.alt tbody tr.amarelo td {
	color: #8a6d3b !important;
	background-color: #fcf8e3 !important;
}
html:not(.modo-escuro) table.alt tbody tr.tr_link.amarelo:hover td {
	color: #8a6d3b !important;
	background-color: #faf2cc !important;
}
table.alt tbody tr.selecionada { 
	background:#d9edf7;
	color:#0275d8;
	cursor: pointer;
    text-transform: none;
	
}
table.alt tbody tr.selecionada:hover{	
	text-transform: uppercase;
	background-color: #d9edf7; /*cor destaque linha quando hover*/
	color: #0275d8;
	cursor: pointer;
}
table.alt tbody tr.navega-tab { 
	color:#0275d8;
	background-color:#d9edf7;
	cursor: pointer;
	
}
/*********************************************************abela simples*/

			table.table-simples tbody tr td   {
                padding: 0px;
                vertical-align: top;
                text-align: left;
			}
			table.tabela_sem_bordas tbody tr:nth-child(2n + 2) {
				background-color: transparent;
                
			}
		table.tabela_sem_bordas {
			border-collapse: separate;
            margin: 0px;
                
                  
		}


			table.tabela_sem_bordas tbody tr td   {
				
            border:  none;
				border-left-width: 0;
				border-top-width: 0;
                padding: 0px ;
                vertical-align: middle;
                
			}

/*********************************************************abela simples*/
/* Fim do Table */

	         mark {
			 padding-top:2px;
			 padding-bottom:3px;
			 padding-left:0;
			 padding-right: 0;
			 background:none;
			 font-weight:bold;
			 color:#dc1f4f;
        }	

    .td_titulo{
        font-weight:600; text-transform: none;
    }
table.alt tbody tr td.td_titulo{
  text-align: left; vertical-align: top; padding: 6px 10px;  
    
}table.alt tbody tr td.td_dados{
  text-align: left; vertical-align: top; padding: 6px 10px;  
    
}

/* Ordenação nas sanfonas — mesmos ícones/cores do DataTables (Font Awesome) */
tr.sanfona-painel table.alt tr:first-child td.td_titulo.sorting,
tr.sanfona-painel table.alt tr:first-child td.td_titulo.sorting_asc,
tr.sanfona-painel table.alt tr:first-child td.td_titulo.sorting_desc,
table.empregados table.alt tr:first-child td.td_titulo.sorting,
table.empregados table.alt tr:first-child td.td_titulo.sorting_asc,
table.empregados table.alt tr:first-child td.td_titulo.sorting_desc {
	cursor: pointer;
	position: relative;
	color: #0275d8;
	white-space: nowrap !important;
	word-break: keep-all !important;
	overflow-wrap: normal !important;
	width: auto !important;
	max-width: none !important;
	box-sizing: border-box;
	/* reserva espaço do ícone — evita encavalar no texto */
	padding-right: calc(8px + 1.15em + 8px) !important;
	user-select: none;
	-webkit-user-select: none;
	background-image: none !important;
}
tr.sanfona-painel table.alt tr:first-child td.td_titulo.sorting::after,
tr.sanfona-painel table.alt tr:first-child td.td_titulo.sorting_asc::after,
tr.sanfona-painel table.alt tr:first-child td.td_titulo.sorting_desc::after,
table.empregados table.alt tr:first-child td.td_titulo.sorting::after,
table.empregados table.alt tr:first-child td.td_titulo.sorting_asc::after,
table.empregados table.alt tr:first-child td.td_titulo.sorting_desc::after {
	position: absolute !important;
	top: 50% !important;
	bottom: auto !important;
	right: 8px !important;
	left: auto !important;
	margin: 0 !important;
	padding: 0 !important;
	line-height: 1 !important;
	display: block;
	font-family: 'Font Awesome 5 Free', 'Font Awesome 5 Brands';
	font-weight: 900;
	transform: translateY(-50%);
	-webkit-transform: translateY(-50%);
	pointer-events: none;
}
tr.sanfona-painel table.alt tr:first-child td.td_titulo.sorting::after,
table.empregados table.alt tr:first-child td.td_titulo.sorting::after {
	opacity: 0.4;
	content: "\f362";
	color: black;
	font-size: 1em;
	transform: translateY(-50%) rotate(90deg);
	-webkit-transform: translateY(-50%) rotate(90deg);
}
tr.sanfona-painel table.alt tr:first-child td.td_titulo.sorting_asc::after,
table.empregados table.alt tr:first-child td.td_titulo.sorting_asc::after {
	opacity: 1;
	color: #0275d8;
	font-size: 1em;
	content: "\f884";
}
tr.sanfona-painel table.alt tr:first-child td.td_titulo.sorting_desc::after,
table.empregados table.alt tr:first-child td.td_titulo.sorting_desc::after {
	opacity: 1;
	color: #0275d8;
	font-size: 1em;
	content: "\f160";
}

/* ------------------------------------------------------------------
 * Telas pequenas (≤980px): tabelas/sanfonas = mesma fonte do cabeçalho
 * do prontuário (css_dinamico.php).
 * Quebra de linha permitida nas células, salvo classes específicas.
 * ------------------------------------------------------------------ */
@media screen and (max-width: 980px) {
	.table-wrapper,
	#conteudo_menu > .table-wrapper,
	#conteudo .table-wrapper,
	table.alt,
	table.tabela_sem_bordas,
	table.dataTable,
	.table-wrapper table,
	tr[class*="tr_sanfona"] > td,
	tr.selecionada[id^="linha_"] > td {
		font-size: clamp(0.48rem, 1.45vw, 0.82rem);
	}

	.table-wrapper td,
	.table-wrapper th,
	table.alt td,
	table.alt th,
	table.tabela_sem_bordas td,
	table.tabela_sem_bordas th,
	table.dataTable td,
	table.dataTable th,
	tr[class*="tr_sanfona"] td,
	tr[class*="tr_sanfona"] th,
	tr.selecionada[id^="linha_"] td {
		font-size: inherit;
		line-height: 1.35;
		white-space: normal;
		word-wrap: break-word;
		overflow-wrap: break-word;
	}

	/* Padding só nas barras de sanfona — sem !important global (quebrava foto/cabeçalho) */
	tr[class*="tr_sanfona"] > td,
	tr.selecionada[id^="linha_"] > td {
		padding-top: 0.35em;
		padding-bottom: 0.35em;
		padding-left: 0.65em;
		padding-right: 0.65em;
	}

	/* Inline font-size frequente → mesma escala do cabeçalho */
	.table-wrapper [style*="font-size: 18px"],
	.table-wrapper [style*="font-size:18px"],
	table.alt [style*="font-size: 18px"],
	table.alt [style*="font-size:18px"],
	tr[class*="tr_sanfona"] [style*="font-size: 18px"],
	tr[class*="tr_sanfona"] [style*="font-size:18px"],
	.table-wrapper [style*="font-size: 20px"],
	.table-wrapper [style*="font-size:20px"],
	table.alt [style*="font-size: 20px"],
	table.alt [style*="font-size:20px"] {
		font-size: clamp(0.48rem, 1.45vw, 0.82rem) !important;
	}

	tr[class*="tr_sanfona"] > td,
	tr.selecionada[id^="linha_"] > td {
		letter-spacing: 0.01em;
	}
	tr[class*="tr_sanfona"] > td > table.tabela_sem_bordas td {
		font-size: inherit;
	}

	/* Manter nowrap só onde a regra específica exige */
	.ellipsed,
	.text-nowrap,
	.switch-container,
	.prontuario-toggle-abas,
	.prontuario-cabecalho-linha,
	.prontuario-barra-direita,
	.prontuario-nav-setas,
	.prontuario-nav-setas > i,
	table.dataTable.nowrap th,
	table.dataTable.nowrap td,
	.dt-col-botoes,
	table.dataTable td .btn,
	table.dataTable th .btn,
	.paginate_button,
	div.dataTables_paginate,
	div.dataTables_info,
	.btn,
	.btn-group,
	.label,
	.badge,
	tr.sanfona-painel table.alt tr:first-child td.td_titulo.sorting,
	tr.sanfona-painel table.alt tr:first-child td.td_titulo.sorting_asc,
	tr.sanfona-painel table.alt tr:first-child td.td_titulo.sorting_desc,
	table.empregados table.alt tr:first-child td.td_titulo.sorting,
	table.empregados table.alt tr:first-child td.td_titulo.sorting_asc,
	table.empregados table.alt tr:first-child td.td_titulo.sorting_desc {
		white-space: nowrap !important;
		word-break: keep-all !important;
		overflow-wrap: normal !important;
	}
}

@media screen and (max-width: 700px) {
	.table-wrapper,
	#conteudo_menu > .table-wrapper,
	table.alt,
	table.tabela_sem_bordas,
	table.dataTable,
	.table-wrapper table,
	tr[class*="tr_sanfona"] > td,
	tr.selecionada[id^="linha_"] > td {
		font-size: clamp(0.42rem, 1.55vw, 0.7rem);
	}
	.table-wrapper [style*="font-size: 18px"],
	.table-wrapper [style*="font-size:18px"],
	table.alt [style*="font-size: 18px"],
	table.alt [style*="font-size:18px"],
	tr[class*="tr_sanfona"] [style*="font-size: 18px"],
	tr[class*="tr_sanfona"] [style*="font-size:18px"],
	.table-wrapper [style*="font-size: 20px"],
	.table-wrapper [style*="font-size:20px"],
	table.alt [style*="font-size: 20px"],
	table.alt [style*="font-size:20px"] {
		font-size: clamp(0.42rem, 1.55vw, 0.7rem) !important;
	}
}

@media screen and (max-width: 500px) {
	.table-wrapper,
	#conteudo_menu > .table-wrapper,
	table.alt,
	table.tabela_sem_bordas,
	table.dataTable,
	.table-wrapper table,
	tr[class*="tr_sanfona"] > td,
	tr.selecionada[id^="linha_"] > td {
		font-size: clamp(0.42rem, 1.55vw, 0.7rem);
	}
}

/*
 * RSM / boletim / empenho (cad-mobile-doc):
 * - Card na largura útil do shell (não 100vw; não width:auto que encolhia)
 * - flex-shrink permite caber no viewport; overflow fica no .table-wrapper (não na página)
 * - sem table-layout:fixed / word-break agressivo (esmagava rótulos: Stat/us, datas)
 */
body.cad-mobile-doc #plano_fundo,
body.cad-mobile-doc #plano_fundo > .container,
body.cad-mobile-doc .container,
body.cad-mobile-doc #conteudo {
	max-width: 100%;
	min-width: 0;
	box-sizing: border-box;
}
body.cad-mobile-doc #conteudo_menu {
	/* vence flex:1 0 auto do mobile.css — página não cresce com min-content da tabela */
	flex: 1 1 auto !important;
	align-self: stretch;
	width: calc(100% - 16px) !important;
	max-width: calc(100% - 16px) !important;
	min-width: 0;
	margin-left: 8px;
	margin-right: 8px;
	box-sizing: border-box;
	overflow-x: hidden;
}
body.cad-mobile-doc .table-wrapper,
body.cad-mobile-doc .table-wrapper .opacidade {
	max-width: 100%;
	width: 100%;
	min-width: 0;
	box-sizing: border-box;
}
body.cad-mobile-doc #conteudo_menu table.alt:not(.cad-doc-resumo) {
	width: 100% !important;
	max-width: 100%;
	margin: 0 !important;
	box-sizing: border-box;
	table-layout: auto;
}
/* Células CAD Mobile (RSM / boletim / empenho): sem altura fixa; padding uniforme (vence inline 3px 10px etc.) */
body.cad-mobile-doc table.alt > tbody > tr > td:not(.cad-doc-resumo-wrap),
body.cad-mobile-doc table.alt > tbody > tr > th,
body.cad-mobile-doc table.alt > thead > tr > th,
body.cad-mobile-doc table.alt > tfoot > tr > th,
body.cad-mobile-doc .table-wrapper table.alt td:not(.cad-doc-resumo-wrap),
body.cad-mobile-doc .table-wrapper table.alt th {
	height: auto !important;
	min-height: 0 !important;
	padding: 8px !important;
	box-sizing: border-box;
}
/*
 * Resumo de duração: duas tabelas nativas (mesmo padrão visual / margin:-1px).
 * --lg = 4 colunas (≥981); --sm = 2 colunas (≤980). Sem grid/flex nas linhas.
 */
body.cad-mobile-doc table.alt > tbody > tr > td.cad-doc-resumo-wrap {
	padding: 0 !important;
}
body.cad-mobile-doc table.cad-doc-resumo.alt,
body.cad-mobile-doc #conteudo_menu table.cad-doc-resumo.alt {
	border-collapse: separate;
	border-spacing: 0;
	width: 100% !important;
	max-width: 100% !important;
	margin: 0 !important;
	box-sizing: border-box;
}
body.cad-mobile-doc table.cad-doc-resumo.alt > tbody > tr > td {
	padding: 8px !important;
	box-sizing: border-box;
}
body.cad-mobile-doc table.cad-doc-resumo.alt .cad-doc-datahora {
	white-space: nowrap;
}
/* Tela grande: 4 colunas */
body.cad-mobile-doc table.cad-doc-resumo--lg {
	display: table;
	table-layout: fixed;
}
body.cad-mobile-doc table.cad-doc-resumo--sm {
	display: none;
}
body.cad-mobile-doc table.cad-doc-resumo--lg > tbody > tr > td:nth-child(1),
body.cad-mobile-doc table.cad-doc-resumo--lg > tbody > tr > td:nth-child(3) {
	width: 34%;
}
body.cad-mobile-doc table.cad-doc-resumo--lg > tbody > tr > td:nth-child(2),
body.cad-mobile-doc table.cad-doc-resumo--lg > tbody > tr > td:nth-child(4) {
	width: 16%;
	white-space: nowrap;
	text-align: center;
}
/* Tela pequena: 2 colunas nativas (mesmo visual da grande) */
@media screen and (max-width: 980px) {
	body.cad-mobile-doc table.cad-doc-resumo--lg {
		display: none !important;
	}
	body.cad-mobile-doc table.cad-doc-resumo--sm {
		display: table !important;
		table-layout: auto;
	}
	body.cad-mobile-doc table.cad-doc-resumo--sm > tbody > tr > td:last-child {
		width: 1%;
		white-space: nowrap;
		text-align: center;
	}
}
body.cad-mobile-doc table.alt th.rsm-cabecalho-principal,
body.cad-mobile-doc table.alt th.rsm-th-secao,
body.cad-mobile-doc table.alt td.cad-doc-secao {
	max-width: 100%;
	vertical-align: middle;
	/* mesmo padding 8px das demais seções — alinha o + com Naturezas/Pessoas/etc. */
	padding: 8px !important;
}
/* RSM — dados básicos: valor em 1 linha com reticências se não couber */
body.cad-mobile-doc table.rsm-dados-basicos {
	table-layout: fixed;
	width: 100%;
}
/* Valores longos (Tipo, Notas, Status): quebram; reticências só se a palavra não puder quebrar */
body.cad-mobile-doc table.rsm-dados-basicos td.rsm-dado-valor {
	max-width: 0; /* força a célula a respeitar a largura da tabela (table-layout:fixed) */
	overflow-wrap: anywhere;
	word-break: break-word;
	white-space: normal;
	overflow: hidden;
}
/* Data/hora e blocos compactos: 1 linha com reticências */
body.cad-mobile-doc table.rsm-dados-basicos td.rsm-dado-valor .cad-doc-datahora {
	display: inline;
	white-space: nowrap;
}
/* Guarnição + duração: nome com reticências; duração compacta à direita */
body.cad-mobile-doc table.rsm-dados-basicos td.cad-doc-secao .cad-doc-titulo {
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}
body.cad-mobile-doc table.rsm-dados-basicos td.cad-doc-secao .cad-doc-meta {
	flex: 0 0 auto;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}
/* Células de dados: topo quando a linha cresce por quebra */
body.cad-mobile-doc table.alt > tbody > tr > td:not(.cad-doc-secao) {
	vertical-align: top;
	overflow-wrap: break-word;
	word-break: normal;
	white-space: normal;
}
/* Empenho Natureza: ícone + texto — texto pode quebrar (ex.: após / via <wbr>) */
body.cad-mobile-doc table.alt td > span[style*="display: Flex"],
body.cad-mobile-doc table.alt td > span[style*="display: flex"],
body.cad-mobile-doc table.alt td > span[style*="display:Flex"] {
	flex-wrap: wrap;
	align-items: flex-start;
	min-width: 0;
	max-width: 100%;
}
/*
 * Flex genérico (número boletim/empenho, Dados Básicos, seções):
 * meta à direita se couber — SEM forçar quebra.
 */
body.cad-mobile-doc .cad-doc-flex,
body.cad-mobile-doc .rsm-status-flex,
body.cad-mobile-doc .rsm-th-flex {
	display: flex;
	flex-wrap: nowrap;
	align-items: flex-start; /* ícone/total no topo se o título quebrar */
	justify-content: flex-start;
	column-gap: 8px;
	row-gap: 4px;
	width: 100%;
	min-width: 0;
	max-width: 100%;
	box-sizing: border-box;
}
body.cad-mobile-doc .cad-doc-titulo,
body.cad-mobile-doc .rsm-titulo-linha {
	flex: 1 1 auto;
	min-width: 0;
	max-width: 100%;
	text-align: left;
}
/* Número do boletim/empenho: à esquerda; não quebra se ainda cabe */
body.cad-mobile-doc td.cad-doc-cabecalho-num,
body.cad-mobile-doc td.cad-doc-cabecalho-num .cad-doc-flex,
body.cad-mobile-doc td.cad-doc-cabecalho-num .cad-doc-titulo {
	text-align: left !important;
}
body.cad-mobile-doc td.cad-doc-cabecalho-num .cad-doc-titulo {
	flex: 0 1 auto;
	white-space: nowrap;
}
body.cad-mobile-doc td.cad-doc-cabecalho-num .cad-doc-meta {
	flex: 0 1 auto;
	white-space: nowrap;
}
body.cad-mobile-doc .cad-doc-meta,
body.cad-mobile-doc .rsm-status-meta {
	flex: 0 1 auto;
	min-width: 0;
	margin-left: auto;
	text-align: right;
	max-width: 100%;
	overflow-wrap: break-word;
	box-sizing: border-box;
	white-space: normal;
}
body.cad-mobile-doc .rsm-status-meta {
	text-transform: uppercase;
}
/*
 * Total / ícone à direita: compacto; centro vertical da 1ª (ou única) linha do texto.
 * align-self:flex-start evita centralizar no bloco multilinha; height 1.25em = 1 linha.
 */
body.cad-mobile-doc .cad-doc-meta-fixo,
body.cad-mobile-doc .rsm-th-meta {
	flex: 0 0 auto;
	flex-basis: content;
	align-self: flex-start;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	margin: 0;
	padding: 0;
	height: 1.25em;
	line-height: 1;
	text-align: right;
	white-space: nowrap;
	max-width: none;
	overflow-wrap: normal;
	text-transform: uppercase;
	box-sizing: border-box;
}
/* + float legado: mesma borda direita + centro na 1ª linha */
body.cad-mobile-doc table.alt td .fa-plus-square[style*="float"],
body.cad-mobile-doc table.alt th .fa-plus-square[style*="float"] {
	float: right !important;
	margin: 0 !important;
	display: inline-flex !important;
	align-items: center;
	justify-content: center;
	height: 1.25em;
	line-height: 1 !important;
	box-sizing: border-box;
}
/* Outros ícones em float:right (relógio, etc.): mesmo alinhamento */
body.cad-mobile-doc table.alt td > span[style*="float:right"] > i,
body.cad-mobile-doc table.alt td > span[style*="float: right"] > i,
body.cad-mobile-doc table.alt th > span[style*="float:right"] > i,
body.cad-mobile-doc table.alt th > span[style*="float: right"] > i {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	height: 1.25em;
	line-height: 1;
	vertical-align: middle;
	box-sizing: border-box;
}
body.cad-mobile-doc table.alt td span[style*="float: right"][style*="margin-right"],
body.cad-mobile-doc table.alt td span[style*="float:right"][style*="margin-right"] {
	margin-right: 15px !important;
	display: inline-flex;
	align-items: center;
	height: 1.25em;
	line-height: 1;
	box-sizing: border-box;
}
body.cad-mobile-doc .cad-doc-meta:empty {
	display: none;
}
/*
 * Guarnição / RSM cabeçalho:
 * — + no fluxo, última coluna à direita (mesma borda dos float:right)
 * — margin-left: 15px no + (= margin-right dos totais nas outras seções)
 * — meta à direita se couber; senão linha de baixo à esquerda
 */
body.cad-mobile-doc .rsm-cabecalho-flex,
body.cad-mobile-doc .cad-doc-flex-quebra {
	container-type: inline-size;
	display: flex;
	flex-wrap: wrap;
	align-items: flex-start;
	column-gap: 0;
	row-gap: 4px;
	width: 100%;
	min-width: 0;
	max-width: 100%;
	box-sizing: border-box;
}
body.cad-mobile-doc .rsm-cabecalho-flex > .rsm-titulo-linha,
body.cad-mobile-doc .cad-doc-flex-quebra > .cad-doc-titulo {
	flex: 1 1 auto;
	min-width: 0;
	text-align: left;
}
/*
 * Título Guarnição / RSM: flex no título (ícone fixo + texto).
 * Sem text-indent negativo (cortava a esquerda). Sem width:100% (derrubava o ícone).
 */
body.cad-mobile-doc .cad-doc-flex-quebra > .cad-doc-titulo.cad-doc-com-icone,
body.cad-mobile-doc .rsm-cabecalho-flex > .rsm-titulo-linha.cad-doc-com-icone,
body.cad-mobile-doc .rsm-th-flex > .cad-doc-titulo.cad-doc-com-icone {
	display: flex;
	align-items: flex-start;
	min-width: 0;
	max-width: 100%;
	box-sizing: border-box;
}
body.cad-mobile-doc .rsm-cabecalho-flex > .rsm-meta-linha,
body.cad-mobile-doc .cad-doc-flex-quebra > .cad-doc-meta-quebra {
	flex: 0 1 auto;
	min-width: 0;
	margin-left: auto;
	margin-right: 0;
	text-align: right;
	max-width: 100%;
	overflow-wrap: break-word;
	box-sizing: border-box;
}
body.cad-mobile-doc .rsm-meta-linha {
	text-transform: uppercase;
}
/* + à direita: centro da 1ª linha; 15px do texto/meta (igual totais → +) */
body.cad-mobile-doc .cad-doc-flex-quebra > .cad-doc-meta-fixo {
	flex: 0 0 auto;
	align-self: flex-start;
	margin: 0 0 0 15px;
	padding: 0;
}
/* RSM sem +: meta cola na direita */
body.cad-mobile-doc .rsm-cabecalho-flex > .rsm-meta-linha:last-child {
	margin-right: 0;
}
/* Estreito: meta desce à esquerda (com recuo do ícone); + permanece na 1ª linha à direita */
@container (max-width: 40rem) {
	body.cad-mobile-doc .rsm-cabecalho-flex > .rsm-meta-linha,
	body.cad-mobile-doc .cad-doc-flex-quebra > .cad-doc-meta-quebra {
		flex: 1 1 100%;
		order: 3;
		margin-left: 0;
		text-align: left;
		padding-left: calc(1em + 6px);
	}
	body.cad-mobile-doc .rsm-cabecalho-flex > .rsm-meta-linha {
		padding-left: calc(1em + 10px);
	}
	body.cad-mobile-doc .cad-doc-flex-quebra > .cad-doc-meta-fixo {
		margin-left: 15px;
	}
}
@supports not (container-type: inline-size) {
	@media screen and (max-width: 980px) {
		body.cad-mobile-doc .rsm-cabecalho-flex > .rsm-meta-linha,
		body.cad-mobile-doc .cad-doc-flex-quebra > .cad-doc-meta-quebra {
			flex: 1 1 100%;
			order: 3;
			margin-left: 0;
			text-align: left;
			padding-left: calc(1em + 6px);
		}
		body.cad-mobile-doc .rsm-cabecalho-flex > .rsm-meta-linha {
			padding-left: calc(1em + 10px);
		}
	}
}
body.cad-mobile-doc .rsm-meta-duracao-label {
	text-transform: none;
}
/* Float legado: só float:left empilha; float:right (total/ícone) permanece à direita */
@media screen and (max-width: 480px) {
	body.cad-mobile-doc table.alt [style*="float: left"],
	body.cad-mobile-doc table.alt [style*="float:left"] {
		float: none !important;
		display: block;
		width: 100%;
		max-width: 100%;
		box-sizing: border-box;
		text-align: left !important;
		margin-left: 0 !important;
		margin-right: 0 !important;
	}
}

@media screen and (max-width: 980px) {
	/* Resumo: tabela nativa 2 colunas (já no HTML) — só reforça nowrap/padding */
	body.cad-mobile-doc table.alt td.cad-doc-resumo-wrap {
		padding: 0 !important;
	}
	body.cad-mobile-doc #conteudo,
	body.cad-mobile-doc #conteudo_menu {
		box-sizing: border-box;
	}
	body.cad-mobile-doc #conteudo_menu {
		flex: 1 1 auto !important;
		width: calc(100% - 16px) !important;
		max-width: calc(100% - 16px) !important;
		min-width: 0;
		overflow-x: hidden;
	}
	body.cad-mobile-doc .table-wrapper,
	body.cad-mobile-doc #conteudo_menu > .table-wrapper,
	body.cad-mobile-doc #conteudo .table-wrapper,
	body.cad-mobile-doc #conteudo_menu > table.alt,
	body.cad-mobile-doc .table-wrapper .opacidade {
		max-width: 100%;
		min-width: 0;
		width: 100%;
		box-sizing: border-box;
	}
	/*
	 * rsm_pequeno (padrão) / rsm_grande — cookie cad_mobile_fonte
	 * Selectors: body.cad-mobile-doc.rsm_*
	 */
	/* rsm_pequeno = o “grande” que ficou legal (padrão) */
	body.cad-mobile-doc.rsm_pequeno .table-wrapper,
	body.cad-mobile-doc.rsm_pequeno #conteudo_menu > .table-wrapper,
	body.cad-mobile-doc.rsm_pequeno #conteudo .table-wrapper,
	body.cad-mobile-doc.rsm_pequeno #conteudo_menu > table.alt,
	body.cad-mobile-doc.rsm_pequeno .table-wrapper .opacidade,
	body.cad-mobile-doc.rsm_pequeno .table-wrapper [style*="font-size: 18px"],
	body.cad-mobile-doc.rsm_pequeno .table-wrapper [style*="font-size:18px"],
	body.cad-mobile-doc.rsm_pequeno table.alt [style*="font-size: 18px"],
	body.cad-mobile-doc.rsm_pequeno table.alt [style*="font-size:18px"],
	body.cad-mobile-doc.rsm_pequeno .table-wrapper [style*="font-size: 20px"],
	body.cad-mobile-doc.rsm_pequeno .table-wrapper [style*="font-size:20px"],
	body.cad-mobile-doc.rsm_pequeno table.alt [style*="font-size: 20px"],
	body.cad-mobile-doc.rsm_pequeno table.alt [style*="font-size:20px"],
	body.cad-mobile-doc.rsm_pequeno table.alt,
	body.cad-mobile-doc.rsm_pequeno table.tabela_sem_bordas,
	body.cad-mobile-doc.rsm_pequeno .table-wrapper table {
		font-size: clamp(0.86rem, 3.1vw, 0.94rem) !important;
	}
	/* rsm_grande = um degrau acima do padrão */
	body.cad-mobile-doc.rsm_grande .table-wrapper,
	body.cad-mobile-doc.rsm_grande #conteudo_menu > .table-wrapper,
	body.cad-mobile-doc.rsm_grande #conteudo .table-wrapper,
	body.cad-mobile-doc.rsm_grande #conteudo_menu > table.alt,
	body.cad-mobile-doc.rsm_grande .table-wrapper .opacidade,
	body.cad-mobile-doc.rsm_grande .table-wrapper [style*="font-size: 18px"],
	body.cad-mobile-doc.rsm_grande .table-wrapper [style*="font-size:18px"],
	body.cad-mobile-doc.rsm_grande table.alt [style*="font-size: 18px"],
	body.cad-mobile-doc.rsm_grande table.alt [style*="font-size:18px"],
	body.cad-mobile-doc.rsm_grande .table-wrapper [style*="font-size: 20px"],
	body.cad-mobile-doc.rsm_grande .table-wrapper [style*="font-size:20px"],
	body.cad-mobile-doc.rsm_grande table.alt [style*="font-size: 20px"],
	body.cad-mobile-doc.rsm_grande table.alt [style*="font-size:20px"],
	body.cad-mobile-doc.rsm_grande table.alt,
	body.cad-mobile-doc.rsm_grande table.tabela_sem_bordas,
	body.cad-mobile-doc.rsm_grande .table-wrapper table {
		font-size: clamp(0.98rem, 3.8vw, 1.08rem) !important;
	}
	body.cad-mobile-doc .table-wrapper,
	body.cad-mobile-doc .table-wrapper .opacidade {
		overflow-x: hidden;
	}
	body.cad-mobile-doc table.alt:not(.cad-doc-resumo),
	body.cad-mobile-doc table.tabela_sem_bordas,
	body.cad-mobile-doc table.dataTable,
	body.cad-mobile-doc .table-wrapper table:not(.cad-doc-resumo) {
		width: 100% !important;
		max-width: 100% !important;
		box-sizing: border-box;
	}
	/* Sem +1px: com fonte maior o calc(100%+1px) vazava a lateral */
	body.cad-mobile-doc table.cad-doc-resumo.alt {
		width: 100% !important;
		max-width: 100% !important;
		margin: 0 !important;
	}
	body.cad-mobile-doc table.alt,
	body.cad-mobile-doc table.tabela_sem_bordas,
	body.cad-mobile-doc table.dataTable,
	body.cad-mobile-doc .table-wrapper table,
	body.cad-mobile-doc tr[class*="tr_sanfona"] > td,
	body.cad-mobile-doc tr.selecionada[id^="linha_"] > td,
	body.cad-mobile-doc .table-wrapper td,
	body.cad-mobile-doc .table-wrapper th,
	body.cad-mobile-doc table.alt td,
	body.cad-mobile-doc table.alt th,
	body.cad-mobile-doc table.tabela_sem_bordas td,
	body.cad-mobile-doc table.tabela_sem_bordas th,
	body.cad-mobile-doc table.dataTable td,
	body.cad-mobile-doc table.dataTable th,
	body.cad-mobile-doc tr[class*="tr_sanfona"] td,
	body.cad-mobile-doc tr[class*="tr_sanfona"] th,
	body.cad-mobile-doc tr.selecionada[id^="linha_"] td {
		font-size: inherit;
	}
	body.cad-mobile-doc table.alt th,
	body.cad-mobile-doc table.alt td,
	body.cad-mobile-doc .table-wrapper th,
	body.cad-mobile-doc .table-wrapper td {
		white-space: normal;
		overflow-wrap: break-word;
		word-break: normal;
	}
	body.cad-mobile-doc table.alt > tbody > tr > td:not(.cad-doc-secao) {
		vertical-align: top;
	}
	body.cad-mobile-doc table.alt > tbody > tr > td:not(.cad-doc-resumo-wrap),
	body.cad-mobile-doc table.alt > tbody > tr > th,
	body.cad-mobile-doc .table-wrapper table.alt td:not(.cad-doc-resumo-wrap),
	body.cad-mobile-doc .table-wrapper table.alt th {
		height: auto !important;
		min-height: 0 !important;
		padding: 8px !important;
	}
	body.cad-mobile-doc table.alt > tbody > tr > td.cad-doc-resumo-wrap {
		padding: 0 !important;
	}
	body.cad-mobile-doc table.alt th.rsm-cabecalho-principal,
	body.cad-mobile-doc table.alt th.rsm-th-secao,
	body.cad-mobile-doc table.alt td.cad-doc-secao {
		vertical-align: middle;
	}
	/*
	 * Causa do estouro residual com fonte maior:
	 * .td_titulo nowrap + várias colunas + padding 8px eleva o min-width da tabela.
	 */
	body.cad-mobile-doc table.alt .td_titulo {
		white-space: normal;
	}
	body.cad-mobile-doc table.alt td.rsm-col-duracao,
	body.cad-mobile-doc table.alt th.rsm-col-duracao {
		width: 22%;
		font-size: 0.85em;
		line-height: 1.25;
		white-space: normal;
		overflow-wrap: break-word;
		word-break: normal;
	}
	/* Data/hora: permite encolher sem empurrar a grade */
	body.cad-mobile-doc .cad-doc-datahora {
		white-space: normal;
		overflow-wrap: anywhere;
	}
	body.cad-mobile-doc table.alt th.rsm-cabecalho-principal {
		font-size: 0.95em;
		line-height: 1.3;
	}
	body.cad-mobile-doc .table-wrapper i[class*="fa"],
	body.cad-mobile-doc table.alt i[class*="fa"],
	body.cad-mobile-doc tr[class*="tr_sanfona"] i[class*="fa"] {
		font-size: 1em !important;
	}
	body.cad-mobile-doc #conteudo_menu > .table-wrapper > table:first-of-type > tbody > tr:nth-child(2) > td,
	body.cad-mobile-doc #conteudo_menu > .table-wrapper > table.alt:first-of-type > tbody > tr:nth-child(2) > td {
		font-size: inherit !important;
	}
}
@media screen and (max-width: 480px) {
	body.cad-mobile-doc.rsm_pequeno .table-wrapper,
	body.cad-mobile-doc.rsm_pequeno #conteudo_menu > .table-wrapper,
	body.cad-mobile-doc.rsm_pequeno #conteudo .table-wrapper,
	body.cad-mobile-doc.rsm_pequeno .table-wrapper .opacidade,
	body.cad-mobile-doc.rsm_pequeno table.alt,
	body.cad-mobile-doc.rsm_pequeno .table-wrapper table {
		font-size: clamp(0.84rem, 3.2vw, 0.92rem) !important;
	}
	body.cad-mobile-doc.rsm_grande .table-wrapper,
	body.cad-mobile-doc.rsm_grande #conteudo_menu > .table-wrapper,
	body.cad-mobile-doc.rsm_grande #conteudo .table-wrapper,
	body.cad-mobile-doc.rsm_grande .table-wrapper .opacidade,
	body.cad-mobile-doc.rsm_grande table.alt,
	body.cad-mobile-doc.rsm_grande .table-wrapper table {
		font-size: clamp(0.94rem, 4vw, 1.05rem) !important;
	}
	body.cad-mobile-doc.rsm_grande table.alt > tbody > tr > td:not(.cad-doc-resumo-wrap),
	body.cad-mobile-doc.rsm_grande table.alt > tbody > tr > th,
	body.cad-mobile-doc.rsm_grande .table-wrapper table.alt td:not(.cad-doc-resumo-wrap),
	body.cad-mobile-doc.rsm_grande .table-wrapper table.alt th {
		padding: 6px !important;
	}
}
@media screen and (max-width: 736px) {
	body.cad-mobile-doc table th,
	body.cad-mobile-doc table td {
		font-size: inherit;
	}
}

/*
 * Nome de agente (ícone + texto): flex — quebra alinha à direita do ícone.
 * Não usar em títulos de seção (o ícone descia de linha ao apertar).
 */
body.cad-mobile-doc td > .cad-doc-com-icone {
	display: flex;
	align-items: flex-start;
	width: 100%;
	min-width: 0;
	max-width: 100%;
	box-sizing: border-box;
}
/* Ícone à esquerda do nome: centro vertical da 1ª (ou única) linha */
body.cad-mobile-doc .cad-doc-com-icone > i:first-child {
	flex: 0 0 auto;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	height: 1.25em;
	line-height: 1;
	box-sizing: border-box;
}
body.cad-mobile-doc .cad-doc-flex-quebra > .cad-doc-titulo.cad-doc-com-icone > i:first-child,
body.cad-mobile-doc .rsm-cabecalho-flex > .rsm-titulo-linha.cad-doc-com-icone > i:first-child,
body.cad-mobile-doc .rsm-th-flex > .cad-doc-titulo.cad-doc-com-icone > i:first-child {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	height: 1.25em;
	line-height: 1;
	box-sizing: border-box;
}
body.cad-mobile-doc .cad-doc-com-icone > .cad-doc-com-icone-txt {
	flex: 1 1 auto;
	min-width: 0;
}
/* Coluna Função (boletim/empenho): reticências se não couber */
body.cad-mobile-doc table.alt td.cad-doc-funcao,
body.cad-mobile-doc table.alt th.cad-doc-funcao {
	max-width: 9rem;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap !important;
	overflow-wrap: normal !important;
	word-break: normal !important;
}
/*
 * RSM Função (ícone + texto): reticências só em tela pequena.
 * Sem flex/overflow no td — evita quebrar a lateral da tabela.
 */
@media screen and (max-width: 980px) {
	body.cad-mobile-doc table.alt .cad-doc-funcao-txt {
		display: inline-block;
		max-width: 11ch;
		vertical-align: bottom;
		overflow: hidden;
		text-overflow: ellipsis;
		white-space: nowrap;
	}
}
/* Data/hora no formato 15/10/2026 - 11H05MIN: não quebrar linha */
body.cad-mobile-doc .cad-doc-datahora {
	white-space: nowrap;
}
/* Controle de atualizações — tela grande: colunas iguais (~33%), padrão anterior */
body.cad-mobile-doc table.alt.cad-doc-atualizacoes {
	table-layout: fixed;
	width: 100%;
}
body.cad-mobile-doc table.alt.cad-doc-atualizacoes td.cad-doc-atualiza-tipo,
body.cad-mobile-doc table.alt.cad-doc-atualizacoes td.cad-doc-atualiza-data,
body.cad-mobile-doc table.alt.cad-doc-atualizacoes td.cad-doc-atualiza-resp {
	width: 33.33%;
}
/* Tela pequena: Tipo/Data sem quebra; Responsável espreme com reticências */
@media screen and (max-width: 980px) {
	body.cad-mobile-doc table.alt.cad-doc-atualizacoes td.cad-doc-atualiza-tipo,
	body.cad-mobile-doc table.alt.cad-doc-atualizacoes td.cad-doc-atualiza-data {
		width: 1%;
		white-space: nowrap !important;
		overflow-wrap: normal !important;
		word-break: normal !important;
	}
	body.cad-mobile-doc table.alt.cad-doc-atualizacoes td.cad-doc-atualiza-resp {
		width: auto;
		max-width: 0;
		overflow: hidden;
		vertical-align: middle;
	}
	body.cad-mobile-doc table.alt.cad-doc-atualizacoes .cad-doc-atualiza-resp-txt {
		display: block;
		overflow: hidden;
		text-overflow: ellipsis;
		white-space: nowrap;
		min-width: 0;
	}
}