body,
button,
input,
select,
textarea,
.form-control,
.select2-container,
.select2-results__option {
  font-family: sans-serif !important;
}

body,
.body,
.content-body {
  background-color: #f6f8f7;
}

.body {
	min-height:  100vh ;
	width: 100%;
}

/* Evita flash do layout antigo antes dos headers serem movidos para o topo */
.sag-cad-layout #sag-cad-header-source,
.sag-list-layout #sag-list-header-source {
  display: none !important;
}

.sag-cad-header-slot #sag-cad-header-source,
.sag-cad-header-slot #sag-list-header-source {
  display: flex !important;
}

.header .header-right > .sag-top-search {
  display: none !important;
}

.sag-sidebar-search-host .sag-top-search {
  display: block !important;
}

html.fixed:not(.boxed) .content-body {
  width: calc(100vw - 300px) !important;
  max-width: none !important;
  box-sizing: border-box;
}

html.fixed.sidebar-left-collapsed:not(.boxed) .content-body {
  width: calc(100vw - 73px) !important;
}

html.fixed.sidebar-left-collapsed.sidebar-left-opened:not(.boxed) .content-body {
  margin-left: 300px !important;
  width: calc(100vw - 300px) !important;
}

html.fixed.has-top-menu:not(.has-left-sidebar-half):not(.boxed) .content-body {
  width: 100vw !important;
}

html.fixed.sidebar-right-opened:not(.boxed) .content-body {
  width: calc(100vw - 300px) !important;
}

html.fixed.sidebar-left-collapsed.sidebar-right-opened:not(.boxed) .content-body {
  width: calc(100vw - 300px) !important;
}

.content-body > .row,
.content-body > .row > .col,
.sag-cad-layout > .row,
.sag-cad-layout > .row > .col,
.sag-cad-body,
.sag-cad-body > .tab-content,
.sag-cad-body > .tab-content > .tab-pane,
.sag-cad-body .card,
.sag-cad-body .card-tms,
.sag-cad-body .card-body,
.sag-cad-body .card-body-tms,
.sag-cad-body .card-body-tms-conteudo,
.sag-cad-body form#cadform {
  width: 100% !important;
  max-width: none !important;
  box-sizing: border-box;
}

.sag-cad-layout [class*="col-"],
.sag-filter-layout [class*="col-"],
.sag-list-layout [class*="col-"],
.gt_operacao-card-body [class*="col-"],
.gt_operacao-card-body-conteudo [class*="col-"] {
  min-width: 0 !important;
  box-sizing: border-box !important;
}

.sag-cad-layout .form-control,
.sag-filter-layout .form-control,
.sag-list-filter-form .form-control,
.gt_operacao-card-body .form-control,
.gt_operacao-card-body-conteudo .form-control,
.sag-cad-layout .input-group,
.gt_operacao-card-body .input-group,
.gt_operacao-card-body-conteudo .input-group {
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  box-sizing: border-box !important;
}

.sag-cad-layout .input-group,
.gt_operacao-card-body .input-group,
.gt_operacao-card-body-conteudo .input-group {
  flex-wrap: nowrap !important;
}

.sag-cad-layout .select2-container,
.sag-filter-layout .select2-container,
.sag-list-filter-form .select2-container,
.gt_operacao-card-body .select2-container,
.gt_operacao-card-body-conteudo .select2-container {
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  box-sizing: border-box !important;
}

.gt_operacao-card-body > .row,
.gt_operacao-card-body-conteudo > .row {
  width: 100% !important;
  max-width: 100% !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
  flex-wrap: wrap !important;
}

.VERM {
  background-color: #fc4c4c !important; 
  color: #000;
}

label .text-danger,
.col-form-label .text-danger,
.form-label .text-danger,
.control-label .text-danger {
  display: none !important;
}

.VERD {
  background-color: #32CD32 !important; 
}
.AMARELO {
  background-color: #FFD700 !important; 
}
tr{  color: #000 !important;
text-align:center;
height: 10px !important;
}

table td {
 padding: 2px !important;
  text-align:center;
  z-index: 2 !important;
  
}
.selected_table {
  background-color: #08c !important; 
}

.table-responsive {
  min-height: 350px !important;
  height: calc(100vh - 150px) !important; /* Ajuste o valor 100px conforme necessário */
  
}

::placeholder {
  color: #6c757d !important;
  font-style: italic;
}
.text-input{
position: absolute;
top: 0;
left: 0;
height: 100%;
width:100%;
padding: 0 0px;
background-color: transparent;
}
.text-input2{
width:100px !important;
}
.text-input4{
width:150px !important;
}
.text-input5{
width:250px !important;
}
.text-input3{
width:80px !important;
}
.verm {
background: #8B0000;
color: #fff;
}
.red{
color: #FF0000 !important;
font-weight: bold;
}
#card_section {
overflow: scroll !important;
height: 550px !important;
width: 100%;
background: #FFF;
}
.card-body-nopadding{
background: #FFF !important;
}

/* PAINEIS: reduz o vao entre o cabecalho superior e o primeiro bloco */
.content-body:not(.card-margin) > .row > .col > .page-header + .card-body,
.content-body:not(.card-margin) > .row > .col > .page-header + .card-body-tms {
  margin-top: 8px !important;
}

.content-body:not(.card-margin) > .row > .col > .page-header + #filtros-painel {
  margin-top: 8px !important;
  margin-bottom: 10px !important;
}

.content-body:not(.card-margin) > .row > .col > .page-header + #filtros-painel + .card-body,
.content-body:not(.card-margin) > .row > .col > .page-header + #filtros-painel + .card-body-tms {
  margin-top: 8px !important;
}

.coluna-fixa {
  /* Ajuste a largura conforme necessário */
  width: 60px;
  position: sticky;
  left: 0;
  z-index: 1002  !important;
  background-color: white;}
.coluna-fixa-th {
  /* Ajuste a largura conforme necessário */
  width: 60px;
  position: sticky;
  left: 0;
  z-index: 1003  !important;
  background-color: white;}
th span {
/*color: transparent;*/
user-select: none; /* Evita que o texto seja selecionado */
}

.tab-content {
  height: 97%; /* Defina a altura total do conteúdo da aba */
}

.tab-pane {
  height: calc(100vh - 170px); /* Defina a altura das abas, ajustando conforme necessário */
  overflow-y: auto; /* Adicione overflow para permitir o scroll vertical */
  padding: 3px; /* Adicione algum padding se necessário */
}

.col-1, .col-2, .col-3, .col-4, .col-5, .col-6, .col-7, .col-8, .col-9, .col-10, .col-11, .col-12, .col, .col-auto, .col-sm-1, .col-sm-2, .col-sm-3, .col-sm-4, .col-sm-5, .col-sm-6, .col-sm-7, .col-sm-8, .col-sm-9, .col-sm-10, .col-sm-11, .col-sm-12, .col-sm, .col-sm-auto, .col-md-1, .col-md-2, .col-md-3, .col-md-4, .col-md-5, .col-md-6, .col-md-7, .col-md-8, .col-md-9, .col-md-10, .col-md-11, .col-md-12, .col-md, .col-md-auto, .col-lg-1, .col-lg-2, .col-lg-3, .col-lg-4, .col-lg-5, .col-lg-6, .col-lg-7, .col-lg-8, .col-lg-9, .col-lg-10, .col-lg-11, .col-lg-12, .col-lg, .col-lg-auto, .col-xl-1, .col-xl-2, .col-xl-3, .col-xl-4, .col-xl-5, .col-xl-6, .col-xl-7, .col-xl-8, .col-xl-9, .col-xl-10, .col-xl-11, .col-xl-12, .col-xl, .col-xl-auto {
  position: relative;
  width: 100% ;
  min-height: 1px ;
  padding-right: 3px !important;
  padding-left: 3px !important;
}
.row {
  display: flex;
  flex-wrap: wrap;
  margin-right: 3px !important;
  margin-left: 3px !important;
}
.form-control{
 /*  padding: 0.00rem !important;*/
  border: 1.6px solid #9aa4ad !important;
  box-shadow: none;
  font-size: 0.86rem !important;
  line-height: 1.25 !important;
  padding: 4px 10px !important;
  box-sizing: border-box;
}

input.form-control,
select.form-control,
.bootstrap-tagsinput {
  height: 32px !important;
  min-height: 32px !important;
}

.form-control:focus {
  border-color: #2b5d85 !important;
  box-shadow: 0 0 0 2px rgba(43, 93, 133, 0.18);
}

.select2-container .select2-selection,
.select2-container--bootstrap .select2-selection,
.bootstrap-tagsinput {
  border: 1.6px solid #9aa4ad !important;
  box-sizing: border-box;
}

.select2-container .select2-selection--single,
.select2-container--bootstrap .select2-selection--single {
  height: 32px !important;
  min-height: 32px !important;
  padding: 0 24px 0 10px !important;
}

.select2-container .select2-selection__rendered,
.select2-container .select2-search__field,
.bootstrap-tagsinput input {
  font-size: 0.86rem !important;
}

.select2-container .select2-selection--single .select2-selection__rendered,
.select2-container--bootstrap .select2-selection--single .select2-selection__rendered {
  line-height: 28px !important;
  padding: 0 !important;
}

.select2-container .select2-search__field,
.bootstrap-tagsinput input {
  line-height: 28px !important;
}

.select2-container .select2-selection--single .select2-selection__arrow,
.select2-container--bootstrap .select2-selection--single .select2-selection__arrow {
  height: 28px !important;
}

.select2-container--focus .select2-selection,
.select2-container--bootstrap.select2-container--focus .select2-selection,
.select2-container--open .select2-selection {
  border-color: #2b5d85 !important;
  box-shadow: 0 0 0 2px rgba(43, 93, 133, 0.18);
}

input[type="number"].form-control,
input[type="number"] {
  text-align: right;
}

form label,
.col-form-label,
.form-label,
.control-label {
  font-size: 0.84rem !important;
  font-weight: 600;
}

.col-form-label{
  padding-top: calc(0.1rem + 1px) !important;
  padding-bottom: calc(0.1rem + 1px) !important;
}

.sag-cad-tabs,
.sag-cad-default-tabs,
.sag-cad-layout .nav-tabs.nav-tabs-bordered {
  background: transparent !important;
  border-bottom: 1px solid #eee !important;
  margin: 0 0 10px !important;
  padding: 6px 15px 0 !important;
  min-height: 52px;
  align-items: flex-end;
  box-shadow: none !important;
  position: relative;
  z-index: 6;
  overflow: visible !important;
}

.sag-cad-tabs .nav-item,
.sag-cad-default-tabs .nav-item,
.sag-cad-layout .nav-tabs.nav-tabs-bordered .nav-item {
  margin-bottom: 0 !important;
  align-self: flex-end;
  overflow: visible !important;
}

.sag-cad-tabs .nav-link,
.sag-cad-default-tabs .nav-link,
.sag-cad-layout .nav-tabs.nav-tabs-bordered .nav-link {
  background: #f4f4f4 !important;
  border-bottom: none !important;
  border-left: 1px solid #eee !important;
  border-right: 1px solid #eee !important;
  border-top: 3px solid #eee !important;
  border-radius: 5px 5px 0 0 !important;
  color: #444 !important;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-size: 14px !important;
  font-weight: 500;
  line-height: 1.2 !important;
  margin-right: 1px;
  margin-bottom: -1px;
  padding: 11px 16px 12px !important;
  transition: all 0.3s ease;
  min-height: 42px;
  box-shadow: none !important;
  overflow: visible !important;
  vertical-align: top;
}

.sag-cad-tabs .nav-link:hover,
.sag-cad-default-tabs .nav-link:hover,
.sag-cad-layout .nav-tabs.nav-tabs-bordered .nav-link:hover {
  background: #f4f4f4 !important;
  border-top-color: #ccc !important;
  color: #333 !important;
}

.sag-cad-tabs .nav-link.active,
.sag-cad-default-tabs .nav-link.active,
.sag-cad-layout .nav-tabs.nav-tabs-bordered .nav-link.active {
  background-color: #fff !important;
  border-top-color: #0088cc !important;
  color: #007bff !important;
  box-shadow: none !important;
}

.sag-cad-tabs .material-icons,
.sag-cad-tabs .material-symbols-outlined,
.sag-cad-default-tabs .material-icons,
.sag-cad-default-tabs .material-symbols-outlined,
.sag-cad-layout .nav-tabs.nav-tabs-bordered .material-icons,
.sag-cad-layout .nav-tabs.nav-tabs-bordered .material-symbols-outlined {
  font-size: 16px;
  line-height: 1;
}

.material-icons, .material-symbols-outlined{
  font-weight: 100;
  font-size: 16px;
}

.status-sidebar {
  width: 100%;
  background: white;
  padding: 10px;
  box-shadow: 0 0 10px rgba(0, 0, 0, 0.2);
  border-radius: 5px;
  z-index: 1000;
  max-height: 85vh; 
  overflow-y: auto;
}
.status-card {
  background: #f5f5f5;
  padding: 10px;
  margin: 5px 0;
  border-radius: 3px;
  z-index: 1000;
}
#mapa {
position: relative; /* ou static */
z-index: 1;

}
.status-card.selecionado {
  background-color: #2b5d85;
  color: white;
  border: 1px #2b5d85;
}

.info-window button {
  width: 20px;
  height: 20px;
  font-size: 10px;
  padding: 2px;
}

.info-window button i {
  font-size: 14px;
}

input.form-control:required,
select.form-control:required,
textarea.form-control:required {
  border-left: 3px solid #dc3545 !important;
}

input.form-control:required:focus,
select.form-control:required:focus,
textarea.form-control:required:focus {
  box-shadow: inset 3px 0 0 #dc3545;
}

select.form-control:required + .select2-container .select2-selection,
select.populate:required + .select2-container .select2-selection {
  border-left: 3px solid #dc3545 !important;
}

select.form-control:required + .select2-container--bootstrap .select2-selection,
select.populate:required + .select2-container--bootstrap .select2-selection {
  border-left: 3px solid #dc3545 !important;
}

select.form-control:required + .select2-container.select2-container--focus .select2-selection,
select.populate:required + .select2-container.select2-container--focus .select2-selection {
  box-shadow: inset 3px 0 0 #dc3545 !important;
}

td, th {
  white-space: nowrap !important;
  overflow: visible !important;
  text-overflow: clip !important;
  min-width: auto !important;          /* Célula cresce conforme conteúdo */
  width: auto !important;               /* Largura automática */
}

.table {
  table-layout: auto !important;        /* Permite que colunas cresçam */
  width: 100% !important;
}

th {
  position: relative;
  z-index: 100;
}

/* Adicione estas classes no seu CSS */
.PENDENTE {
  background-color: #EEE8AA !important;  /* Laranja para Pendente */
  color: #000;
}

.EXECUCAO {
  background-color: #00BFFF !important;  /* Amarelo para Em Execução */
  color: #000;
}

.AGUARDANDO {
  background-color: #3CB371 !important;  /* Verde claro para Liberado */
  color: #000;
}

.FINALIZADO {
  background-color: #A9A9A9 !important;  /* Verde para Finalizado */
  color: #000;
}

.FINALIZADO_PROTHEUS {
  background-color: #006400 !important;  /* Verde escuro para Finalizado Protheus */
  color: #FFF;
}

/* Mantenha as classes existentes que você já tem */
.VERM {
  background-color: #fc4c4c !important; 
  color: #000;
}

.VERD {
  background-color: #32CD32 !important; 
}

.AMARELO {
  background-color: #FFD700 !important; 
}

/* Garantir que a tabela ocupe toda a largura */
.table {
    width: 100% !important;
    table-layout: auto;
}

/* CORREÇÃO PARA O SCROLL FUNCIONAR */
#torre_grid {
    height: calc(100vh - 200px) !important;
    overflow-y: auto !important;
    display: block !important;
}

#grid {
    height: calc(100vh  ) !important;
    overflow-y: auto !important;
    display: block !important;
}

#grid .table {
    width: 100%;
    margin-bottom: 0;
}

/* Garantir que a tabela ocupe todo o espaço */
#torre_grid .table {
    width: 100%;
    margin-bottom: 0;
}

/* Estilo para a mensagem de carregamento */
#carregando {
    background-color: #f8f9fa;
    border-top: 1px solid #dee2e6;
    position: sticky;
    bottom: 0;
    z-index: 1000;
}

/* Melhorar a visualização da tabela */
#dados-tbody tr {
    height: 20px;
}

#dados-tbody td {
    vertical-align: middle;
    padding: 0px 0px !important;
}

/* Estilo para o botão de exportar */
#btnExportarExcel {
    background-color: #17a2b8 !important;
    border-color: #17a2b8 !important;
    color: white !important;
}

#btnExportarExcel:hover {
    background-color: #138496 !important;
    border-color: #117a8b !important;
}

#btnExportarExcel:disabled {
    opacity: 0.6;
    cursor: wait;
}

.dropdown-menu {
  z-index: 1050 !important;
}

.sag-dropdown-portal {
  z-index: 4000 !important;
}
.btn-filter-toggle {
    color: #fff;
    border-color: #fff;
}

/* Destaque para motoristas/funcionários inativos */
.motorista-inativo,
option.motorista-inativo,
.select2-results__option.motorista-inativo {
    background-color: #ffe6e6 !important;
    color: #999 !important;
}

.select2-results__option.motorista-inativo:hover {
    background-color: #ffd6d6 !important;
}

/* ALERTAS CUSTOMIZADOS PARA FORMULÁRIOS */
.alert-custom {
	padding: 15px;
	margin-bottom: 20px;
	border-radius: 4px;
	border-left: 5px solid;
	display: flex;
	align-items: center;
	gap: 15px;
	font-size: 14px;
}

.alert-custom-success {
	background-color: #d4edda !important;
	border-color: #28a745 !important;
	color: #155724 !important;
}

.alert-custom-error {
	background-color: #f8d7da !important;
	border-color: #dc3545 !important;
	color: #721c24 !important;
}

.alert-custom-warning {
	background-color: #fff3cd !important;
	border-color: #ffc107 !important;
	color: #856404 !important;
}

.alert-custom-info {
	background-color: #d1ecf1 !important;
	border-color: #17a2b8 !important;
	color: #0c5460 !important;
}

.alert-custom strong {
	display: block;
	margin-bottom: 8px;
	font-weight: 600;
}

.alert-custom button.close {
	background: none;
	border: none;
	font-size: 1.5rem;
	cursor: pointer;
	opacity: 0.5;
	padding: 0;
	margin-left: auto;
	flex-shrink: 0;
}

.alert-custom button.close:hover {
	opacity: 1;
}

.alert-messages-container {
	margin-bottom: 20px;
}

/* ESTILOS PARA FORMULÁRIOS COM ABAS (TABS) */
#cadform .tab-content {
	overflow: visible !important;
	height: auto !important;
}

#cadform .tab-pane {
	height: auto !important;
	overflow: visible !important;
	max-height: none !important;
}

#cadform .card-body {
	overflow: visible !important;
	max-height: none !important;
}

/* Histórico de movimentações: tabelas devem ter altura automática conforme dados */
#historico_movimentos .table-responsive {
	min-height: 0 !important;
	height: auto !important;
}
/* Campos readonly com fundo cinza devem ter texto visível */
input[readonly],
textarea[readonly],
select[readonly] {
    color: #495057 !important;
}

/* Placeholders dos campos readonly também devem ser visíveis */
input[readonly]::placeholder,
textarea[readonly]::placeholder {
    color: #6c757d !important;
    opacity: 1 !important;
}

input[readonly]::-webkit-input-placeholder {
    color: #6c757d !important;
    opacity: 1 !important;
}

input[readonly]:-ms-input-placeholder {
    color: #6c757d !important;
    opacity: 1 !important;
}

input[readonly]::-ms-input-placeholder {
    color: #6c757d !important;
    opacity: 1 !important;
}

.select2-results__option.motorista-inativo:hover {
    background-color: #ffd6d6 !important;
}

/* LOADER OVERLAY */
.loading-overlay {
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background-color: rgba(0, 0, 0, 0.5);
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	z-index: 9999;
}

.loading-overlay .spinner-border {
	width: 3rem;
	height: 3rem;
	border-width: 0.3em;
}

.loading-text {
	color: white;
	margin-top: 1rem;
	font-size: 1rem;
	font-weight: 500;
}

/* ALERT MESSAGES */
.alert-messages-container {
	margin: 15px 0;
	min-height: 0;
}

.alert-messages-container .alert {
	margin: 0;
	padding: 12px 16px;
	border-radius: 4px;
	box-shadow: 0 1px 3px rgba(0,0,0,0.1);
}

.alert-messages-container .alert-success {
	background-color: #d4edda;
	border: 1px solid #c3e6cb;
	color: #155724;
}

.alert-messages-container .alert-danger {
	background-color: #f8d7da;
	border: 1px solid #f5c6cb;
	color: #721c24;
}

.alert-messages-container .btn-close {
	padding: 0;
	width: auto;
	height: auto;
	margin-left: 10px;
	font-size: 18px;
	line-height: 1;
	color: inherit;
	opacity: 0.7;
	border: none;
	background: transparent;
	cursor: pointer;
}

.alert-messages-container .btn-close:hover {
	opacity: 1;
}

.badge {
    display: inline-block;
    padding: 0.25em 0.4em;
    font-size: 100% !important;
    font-weight: 700;
    line-height: 1;
    text-align: center;
    white-space: nowrap;
    vertical-align: baseline;
    border-radius: 0.25rem;
}

/* CADASTROS: visual compacto no estilo administrativo do novo modelo */
.sag-cad-layout {
    padding: 18px 20px 28px;
    background:
        linear-gradient(180deg, #eef3f8 0%, #f7f9fc 100%);
}

.sag-cad-layout .row {
    margin-left: -6px;
    margin-right: -6px;
}

.sag-cad-layout [class*="col-"] {
    padding-left: 6px;
    padding-right: 6px;
}

.sag-cad-header {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: start;
    gap: 14px 18px;
    margin: 0 0 8px;
    padding: 14px 16px 16px;
    position: relative;
    height: auto !important;
    min-height: 0;
    overflow: visible;
    isolation: isolate;
    z-index: 10;
    border: 1px solid #d8e0ea;
    border-radius: 16px;
    background: rgba(255, 255, 255, 0.96) !important;
    box-shadow: 0 18px 40px rgba(15, 23, 42, 0.08) !important;
}

html.fixed .sag-cad-header,
html.fixed.has-top-menu:not(.has-left-sidebar-half) .sag-cad-header,
html.has-tab-navigation .sag-cad-header {
    position: relative !important;
    left: auto !important;
    right: auto !important;
    top: auto !important;
    width: auto !important;
    margin: 0 0 8px !important;
    padding: 14px 16px 16px !important;
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) auto !important;
    align-items: start !important;
    gap: 14px 18px !important;
    border-radius: 16px !important;
    overflow: visible !important;
}

.sag-cad-header .card-actions,
html.fixed .sag-cad-header .card-actions {
    position: static !important;
    top: auto !important;
    right: auto !important;
    left: auto !important;
    float: none !important;
    margin: 0 !important;
}

.sag-cad-header .left-wrapper,
.sag-cad-header .right-wrapper {
    float: none !important;
    width: auto !important;
    margin: 0 !important;
}

.sag-cad-title-wrap {
    min-width: 0;
    align-self: center;
    padding: 4px 2px 0;
    order: 1;
}

.sag-cad-layout .breadcrumbs {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    margin: 0;
    padding: 2px 0;
    line-height: 1.35;
}

.sag-cad-layout .breadcrumbs li {
    display: inline-flex;
    align-items: center;
    margin: 0;
}

.sag-cad-layout .breadcrumbs li:after {
    margin-left: 6px;
    color: #9aa8ba;
}

.sag-cad-layout .breadcrumbs a,
.sag-cad-layout .breadcrumbs span {
    color: #4c6078;
    font-size: 10px;
    font-weight: 600;
    letter-spacing: 0.02em;
    text-transform: uppercase;
}

.sag-cad-actions {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end;
    gap: 8px;
    align-items: center;
    align-self: start;
    order: 2;
    padding-left: 16px;
    border-left: 1px solid #e1e8f0;
}

.sag-cad-layout .page-header .card-actions .btn,
.sag-cad-layout .page-header .card-actions a.btn,
.sag-cad-layout .page-header .card-actions .dropdown-toggle {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    min-height: 32px;
    padding: 6px 12px;
    border-radius: 10px;
    border: 1px solid #d5dde7;
    box-shadow: none;
    font-weight: 600;
    font-size: 12px;
}

.sag-cad-layout .page-header .card-actions .btn-success {
    border-color: #c6d4ff;
    background: linear-gradient(180deg, #f8fbff 0%, #e7f0ff 100%);
    color: #2759d8;
}

.sag-cad-layout .page-header .card-actions .btn-default,
.sag-cad-layout .page-header .card-actions .btn.btn-default {
    background: linear-gradient(180deg, #ffffff 0%, #f0f3f7 100%);
    color: #58697f;
}

.sag-cad-layout .page-header .card-actions .btn-info,
.sag-cad-layout .page-header .card-actions .btn-warning,
.sag-cad-layout .page-header .card-actions .btn-primary,
.sag-cad-layout .page-header .card-actions .btn-dark {
    color: #314459;
}

.sag-cad-layout .page-header .dropdown-menu,
.sag-cad-layout .card-actions-overflow-menu {
    z-index: 2100 !important;
}

.sag-modal-standard {
    border: 1px solid #d8e0ea !important;
    border-radius: 16px !important;
    overflow: hidden;
    box-shadow: 0 18px 40px rgba(15, 23, 42, 0.12) !important;
}

.sag-modal-standard .modal-header {
    background: linear-gradient(135deg, #f0f4f8 0%, #fafbfc 100%) !important;
    border-bottom: 1px solid #e1e8f0 !important;
    padding: 14px 18px !important;
}

.sag-modal-standard .modal-title {
    font-size: 16px !important;
    font-weight: 700 !important;
    color: #314459 !important;
    display: flex;
    align-items: center;
    gap: 8px;
}

.sag-modal-standard .modal-title .material-icons,
.sag-modal-standard .modal-title i,
.sag-modal-standard .modal-header .material-icons {
    font-size: 18px !important;
    color: #007bff !important;
}

.sag-modal-standard .modal-body {
    padding: 18px !important;
}

.sag-modal-standard .modal-footer {
    background: #f8fbfe !important;
    border-top: 1px solid #e1e8f0 !important;
    padding: 12px 18px !important;
}

.sag-modal-standard .form-label,
.sag-modal-standard label.col-form-label,
.sag-modal-standard .form-group > label {
    font-size: 11px !important;
    font-weight: 700 !important;
    color: #4c6078 !important;
    margin-bottom: 4px !important;
    display: block;
    letter-spacing: 0.01em;
    text-transform: uppercase;
}

.sag-modal-standard .form-control,
.sag-modal-standard .select2-container--bootstrap .select2-selection,
.sag-modal-standard .select2-container .select2-selection--single,
.sag-modal-standard .select2-container .select2-selection--multiple {
    min-height: 32px !important;
    height: 32px !important;
    border: 1px solid #cfd9e5 !important;
    border-radius: 10px !important;
    background: #fdfefe !important;
    color: #24364b !important;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.75) !important;
    font-size: 12px !important;
    line-height: 1.2 !important;
    padding: 6px 10px !important;
}

.sag-modal-standard textarea.form-control {
    height: auto !important;
    min-height: 72px !important;
}

.sag-modal-standard .form-control:focus,
.sag-modal-standard .select2-container--focus .select2-selection,
.sag-modal-standard .select2-container--open .select2-selection {
    border-color: #7ea6ff !important;
    box-shadow: 0 0 0 3px rgba(83, 126, 255, 0.14) !important;
}

.sag-modal-standard .select2-container .select2-selection__rendered {
    line-height: 20px !important;
    font-size: 12px !important;
    color: #24364b !important;
    padding-left: 0 !important;
    padding-right: 18px !important;
}

.sag-modal-standard .select2-container .select2-selection__arrow {
    height: 20px !important;
}

.sag-inline-toolbar .btn,
.sag-inline-toolbar.btn,
.sag-inline-actions .btn,
.sag-inline-actions.btn,
.sag-inline-actions a.btn,
.sag-modal-standard .modal-footer .btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    min-height: 32px !important;
    padding: 6px 12px !important;
    border-radius: 10px !important;
    border: 1px solid #d5dde7 !important;
    box-shadow: none !important;
    font-weight: 600 !important;
    font-size: 12px !important;
    line-height: 1.2 !important;
    white-space: nowrap !important;
}

.sag-inline-toolbar .btn-success,
.sag-inline-toolbar.btn-success,
.sag-inline-actions .btn-success,
.sag-inline-actions.btn-success,
.sag-modal-standard .modal-footer .btn-success,
.sag-modal-standard .modal-footer .btn-primary {
    border-color: #c6d4ff !important;
    background: linear-gradient(180deg, #f8fbff 0%, #e7f0ff 100%) !important;
    color: #2759d8 !important;
}

.sag-inline-toolbar .btn-default,
.sag-inline-toolbar.btn-default,
.sag-inline-actions .btn-default,
.sag-inline-actions.btn-default,
.sag-modal-standard .modal-footer .btn-default,
.sag-modal-standard .modal-footer .btn-secondary {
    background: linear-gradient(180deg, #ffffff 0%, #f0f3f7 100%) !important;
    color: #58697f !important;
    border-color: #d5dde7 !important;
}

.sag-inline-toolbar .btn-danger,
.sag-inline-toolbar.btn-danger,
.sag-inline-actions .btn-danger,
.sag-inline-actions.btn-danger,
.sag-modal-standard .modal-footer .btn-danger {
    border-color: #f0c8ce !important;
    background: linear-gradient(180deg, #fff8f8 0%, #fdecef 100%) !important;
    color: #c63c50 !important;
}

.sag-inline-toolbar .btn-info,
.sag-inline-toolbar .btn-primary,
.sag-inline-toolbar .btn-warning,
.sag-inline-toolbar .btn-dark,
.sag-inline-toolbar.btn-info,
.sag-inline-toolbar.btn-primary,
.sag-inline-toolbar.btn-warning,
.sag-inline-toolbar.btn-dark,
.sag-inline-actions .btn-info,
.sag-inline-actions .btn-primary,
.sag-inline-actions .btn-warning,
.sag-inline-actions .btn-dark,
.sag-inline-actions.btn-info,
.sag-inline-actions.btn-primary,
.sag-inline-actions.btn-warning,
.sag-inline-actions.btn-dark {
    color: #314459 !important;
}

.sag-inline-toolbar .btn:hover,
.sag-inline-toolbar.btn:hover,
.sag-inline-actions .btn:hover,
.sag-inline-actions.btn:hover,
.sag-inline-actions a.btn:hover,
.sag-modal-standard .modal-footer .btn:hover {
    box-shadow: 0 4px 12px rgba(15, 23, 42, 0.10) !important;
    transform: translateY(-1px);
}

/* Compatibilidade para telas antigas de lista/painel que ainda usam btn-outline-* */
.sag-list-layout .btn.btn-xs.btn-outline-secondary,
.sag-list-layout .btn.btn-sm.btn-outline-secondary,
.sag-list-layout .btn.btn-outline-secondary.btn-filter-toggle,
.sag-list-layout .btn.btn-outline-secondary[data-list-filter-close],
.sag-list-layout .btn.btn-outline-secondary {
    border-color: #d5dde7 !important;
    background: linear-gradient(180deg, #ffffff 0%, #f0f3f7 100%) !important;
    color: #58697f !important;
    box-shadow: none !important;
}

.sag-list-layout .btn.btn-xs.btn-outline-primary,
.sag-list-layout .btn.btn-sm.btn-outline-primary,
.sag-list-layout .btn.btn-outline-primary,
.sag-list-layout .btn.btn-xs.btn-outline-info,
.sag-list-layout .btn.btn-sm.btn-outline-info,
.sag-list-layout .btn.btn-outline-info,
.sag-list-layout .btn.btn-outline-purple {
    border-color: #c6d4ff !important;
    background: linear-gradient(180deg, #f8fbff 0%, #e7f0ff 100%) !important;
    color: #2759d8 !important;
    box-shadow: none !important;
}

.sag-list-layout .btn.btn-xs.btn-outline-success,
.sag-list-layout .btn.btn-sm.btn-outline-success,
.sag-list-layout .btn.btn-outline-success {
    border-color: #d7e7c0 !important;
    background: linear-gradient(180deg, #fbfff6 0%, #eef7de 100%) !important;
    color: #587b21 !important;
    box-shadow: none !important;
}

.sag-list-layout .btn.btn-xs.btn-outline-warning,
.sag-list-layout .btn.btn-sm.btn-outline-warning,
.sag-list-layout .btn.btn-outline-warning {
    border-color: #f0ddaa !important;
    background: linear-gradient(180deg, #fffdf5 0%, #fdf3d6 100%) !important;
    color: #8a6714 !important;
    box-shadow: none !important;
}

.sag-list-layout .btn.btn-xs.btn-outline-danger,
.sag-list-layout .btn.btn-sm.btn-outline-danger,
.sag-list-layout .btn.btn-outline-danger,
.sag-list-layout .btn.btn-outline-dark {
    border-color: #f0c8ce !important;
    background: linear-gradient(180deg, #fff8f8 0%, #fdecef 100%) !important;
    color: #c63c50 !important;
    box-shadow: none !important;
}

.sag-list-layout .btn[class*="btn-outline-"]:hover,
.sag-list-layout .btn[class*="btn-outline-"]:focus {
    box-shadow: 0 4px 12px rgba(15, 23, 42, 0.10) !important;
    transform: translateY(-1px);
}

.modal-backdrop {
    z-index: 2200 !important;
}

.modal,
.modal.show,
.sag-cad-layout .modal,
.sag-cad-layout .modal.show {
    z-index: 2210 !important;
}

.sag-cad-layout .sag-cad-body {
    position: relative;
    overflow: visible !important;
    padding-top: 20px !important;
    margin-top: 0 !important;
    height: auto !important;
    min-height: 0 !important;
}

.sag-cad-layout .sag-cad-default-tabs {
    position: relative;
    z-index: 5;
    margin-top: 6px !important;
    margin-bottom: 8px !important;
    padding-top: 0;
}

.sag-cad-layout .card-body-tms,
.sag-cad-layout .card-tms,
.sag-cad-layout .sag-cad-panel,
.sag-cad-layout form#cadform,
.sag-cad-layout .tab-content > .tab-pane > .card-tms {
    margin-top: 0 !important;
    border: 1px solid #d8e0ea !important;
    border-radius: 16px !important;
    background: rgba(255, 255, 255, 0.96) !important;
    box-shadow: 0 18px 40px rgba(15, 23, 42, 0.08) !important;
    overflow: hidden;
}

.sag-cad-layout .card-body-tms,
.sag-cad-layout .card-body-tms-conteudo,
.sag-cad-layout form#cadform {
    padding: 16px !important;
}

.sag-cad-layout form#cadform {
    display: block;
}

.sag-cad-layout .card-header {
    padding: 14px 16px;
    border-bottom: 1px solid #e3e9f1 !important;
    background: linear-gradient(180deg, #f8fafc 0%, #eef3f7 100%) !important;
}

.sag-cad-layout .card-title-tms,
.sag-cad-layout .card-header h5,
.sag-cad-layout .card-header h4 {
    color: #23364d;
    font-weight: 700;
}

.sag-cad-layout .sag-cad-tabs,
.sag-cad-layout .sag-cad-default-tabs {
    margin-top: 6px !important;
    margin-bottom: 8px !important;
    position: relative;
    z-index: 6;
}

@media (max-width: 1400px) {
    .sag-cad-header {
        grid-template-columns: 1fr;
    }

    .sag-cad-actions {
        justify-content: flex-start;
        padding-left: 0;
        border-left: none;
        border-bottom: 1px solid #e1e8f0;
        padding-bottom: 10px;
    }
}

.sag-cad-layout .sag-cad-tabs .nav-link,
.sag-cad-layout .sag-cad-default-tabs .nav-link {
    position: relative;
    z-index: 2;
}

.sag-cad-layout .form-group {
    margin-bottom: 10px;
}

.sag-cad-layout .panel-footer {
    margin: 14px -16px -16px;
    padding: 12px 16px;
    border-top: 1px solid #e3e9f1;
    background: linear-gradient(180deg, #fbfcfe 0%, #eff3f8 100%);
}

.sag-cad-layout label.col-form-label,
.sag-cad-layout .form-group > label {
    display: block;
    margin-bottom: 3px;
    color: #6a7d92;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0.01em;
    text-transform: uppercase;
}

.sag-cad-layout .form-control,
.sag-cad-layout .select2-container--bootstrap .select2-selection,
.sag-cad-layout .select2-container .select2-selection--single,
.sag-cad-layout .select2-container .select2-selection--multiple {
    height: 24px !important;
    min-height: 24px !important;
    border: 1px solid #cfd9e5;
    border-radius: 10px;
    background: #fdfefe;
    color: #24364b;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.75);
    font-size: 11px !important;
    line-height: 1.15 !important;
    padding-top: 2px !important;
    padding-bottom: 2px !important;
    padding-left: 10px;
    padding-right: 10px;
}

.sag-cad-layout textarea.form-control {
    height: auto !important;
    min-height: 56px !important;
}

.sag-cad-layout .form-control:focus,
.sag-cad-layout .select2-container--focus .select2-selection,
.sag-cad-layout .select2-container--open .select2-selection {
    border-color: #7ea6ff;
    box-shadow: 0 0 0 3px rgba(83, 126, 255, 0.14);
}

.sag-cad-layout .select2-container .select2-selection__rendered {
    line-height: 22px !important;
    color: #24364b;
    font-size: 11px !important;
    padding-left: 0 !important;
    padding-right: 18px !important;
}

.sag-cad-layout .select2-container .select2-selection__arrow {
    height: 22px !important;
}

.sag-cad-layout .select2-container .select2-selection--multiple {
    display: flex !important;
    align-items: center;
    height: auto !important;
    min-height: 28px !important;
    padding: 2px 34px 2px 6px !important;
}

.sag-cad-layout .select2-container .select2-selection--multiple .select2-selection__rendered {
    display: flex !important;
    flex-wrap: wrap;
    align-items: center;
    gap: 4px;
    width: 100%;
    min-height: 20px;
    line-height: normal !important;
    padding: 0 !important;
}

.sag-cad-layout .select2-container .select2-selection--multiple .select2-selection__choice {
    display: inline-flex !important;
    align-items: center;
    gap: 4px;
    margin: 0 !important;
    padding: 2px 8px !important;
    border: 1px solid #9fb9d5 !important;
    border-radius: 6px !important;
    background: linear-gradient(180deg, #d9e9fb 0%, #bfd6ef 100%) !important;
    color: #38536f !important;
    font-size: 11px !important;
    line-height: 1.2 !important;
}

.sag-cad-layout .select2-container .select2-selection--multiple .select2-selection__choice__remove {
    margin-right: 2px !important;
    color: #5a7088 !important;
    font-size: 12px !important;
    line-height: 1 !important;
}

.sag-cad-layout .select2-container .select2-selection--multiple .select2-search--inline,
.sag-cad-layout .select2-container .select2-selection--multiple .select2-search--inline .select2-search__field {
    margin: 0 !important;
}

.sag-cad-layout .select2-container .select2-selection--multiple .select2-search--inline .select2-search__field {
    height: 20px !important;
    line-height: 20px !important;
}

.sag-cad-layout .table {
    margin-bottom: 0;
    border-color: #d9e2ec;
}

.sag-cad-layout .table thead th {
    border-bottom: 1px solid #d5dee8;
    background: linear-gradient(180deg, #f9fbfd 0%, #edf2f7 100%);
    color: #3b526d;
    font-size: 10px;
}

.sag-cad-layout .table td,
.sag-cad-layout .table th {
    padding: 8px 10px;
    vertical-align: middle;
    font-size: 12px;
}

/* FILTROS: padrao visual unificado com cadastros e listagens */
.sag-filter-layout {
    position: relative;
    padding: 18px 20px 18px;
    background: linear-gradient(180deg, #fdfefe 0%, #f4f7fb 100%);
    border-radius: 0 14px 14px 14px;
    overflow: visible !important;
}

html.has-tab-navigation .sag-filter-layout {
    padding: 18px 20px 18px !important;
    background: linear-gradient(180deg, #fdfefe 0%, #f4f7fb 100%) !important;
    border-radius: 0 14px 14px 14px !important;
}

.sag-filter-layout .row {
    margin-left: -6px !important;
    margin-right: -6px !important;
}

.sag-filter-layout [class*="col-"] {
    padding-left: 6px !important;
    padding-right: 6px !important;
}

.sag-filter-header {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: center;
    gap: 14px 18px;
    margin: 0 0 8px;
    padding: 12px 16px 14px;
    position: relative;
    height: auto !important;
    min-height: 0;
    overflow: visible;
    isolation: isolate;
    z-index: 10;
    border: 1px solid #d8e0ea;
    border-radius: 16px;
    background: linear-gradient(180deg, #fdfefe 0%, #f2f5f9 100%);
    box-shadow: 0 8px 18px rgba(15, 23, 42, 0.06);
}

html.fixed .sag-filter-header,
html.fixed.has-top-menu:not(.has-left-sidebar-half) .sag-filter-header,
html.has-tab-navigation .sag-filter-header {
    position: relative !important;
    left: auto !important;
    right: auto !important;
    top: auto !important;
    width: auto !important;
    margin: 0 0 8px !important;
    padding: 12px 16px 14px !important;
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) auto !important;
    background: linear-gradient(180deg, #fdfefe 0%, #f2f5f9 100%) !important;
    border: 1px solid #d8e0ea !important;
    border-radius: 16px !important;
    box-shadow: 0 8px 18px rgba(15, 23, 42, 0.06) !important;
    overflow: visible !important;
    z-index: 10 !important;
}

.sag-filter-header .card-actions,
html.fixed .sag-filter-header .card-actions,
html.fixed.has-top-menu:not(.has-left-sidebar-half) .sag-filter-header .card-actions,
html.has-tab-navigation .sag-filter-header .card-actions {
    position: static !important;
    top: auto !important;
    right: auto !important;
    left: auto !important;
    float: none !important;
    margin: 0 !important;
}

.sag-filter-header .left-wrapper,
.sag-filter-header .right-wrapper,
html.has-tab-navigation .sag-filter-header .left-wrapper,
html.has-tab-navigation .sag-filter-header .right-wrapper {
    float: none !important;
    width: auto !important;
    margin: 0 !important;
}

.sag-filter-title-wrap {
    order: 1;
    min-width: 0;
    align-self: center;
    padding: 2px 2px 0;
}

.sag-filter-layout .breadcrumbs {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    margin: 0;
    padding: 2px 0;
    line-height: 1.35;
}

.sag-filter-layout .breadcrumbs li {
    display: inline-flex;
    align-items: center;
    margin: 0;
}

.sag-filter-layout .breadcrumbs li:after {
    margin-left: 6px;
    color: #9aa8ba;
}

.sag-filter-layout .breadcrumbs a,
.sag-filter-layout .breadcrumbs span {
    color: #4c6078;
    font-size: 10px;
    font-weight: 600;
    letter-spacing: 0.02em;
    text-transform: uppercase;
}

.sag-filter-actions {
    order: 2;
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end;
    gap: 8px;
    align-items: center;
    align-self: start;
    min-width: 0;
    max-width: 100%;
    width: auto;
    padding-left: 18px;
    padding-bottom: 0;
    border-left: 1px solid #e1e8f0;
    border-bottom: none;
}

.sag-filter-layout .page-header .card-actions .btn,
.sag-filter-layout .page-header .card-actions a.btn,
.sag-filter-layout .page-header .card-actions .dropdown-toggle {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    min-height: 32px;
    padding: 6px 12px;
    border-radius: 10px;
    border: 1px solid #d5dde7;
    box-shadow: none;
    font-weight: 600;
    font-size: 12px;
}

.sag-filter-layout .page-header .card-actions .btn-success {
    border-color: #c6d4ff;
    background: linear-gradient(180deg, #f8fbff 0%, #e7f0ff 100%);
    color: #2759d8;
}

.sag-filter-layout .page-header .card-actions .btn-default,
.sag-filter-layout .page-header .card-actions .btn.btn-default {
    background: linear-gradient(180deg, #ffffff 0%, #f0f3f7 100%);
    color: #58697f;
}

.sag-filter-layout .page-header .card-actions .btn-info,
.sag-filter-layout .page-header .card-actions .btn-warning,
.sag-filter-layout .page-header .card-actions .btn-primary,
.sag-filter-layout .page-header .card-actions .btn-dark,
.sag-filter-layout .page-header .card-actions .btn-secondary {
    color: #314459;
}

.sag-filter-panel {
    margin-top: 0 !important;
    padding: 12px !important;
    border: 1px solid #d8e0ea !important;
    border-radius: 16px !important;
    background: rgba(255, 255, 255, 0.96) !important;
    box-shadow: 0 18px 40px rgba(15, 23, 42, 0.08) !important;
    overflow: visible !important;
    min-height: 0;
}

.sag-filter-layout .form-group {
    margin-bottom: 10px;
}

.sag-filter-layout label.col-form-label,
.sag-filter-layout .form-group > label {
    display: block;
    margin-bottom: 3px;
    color: #6a7d92;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0.01em;
    text-transform: uppercase;
}

.sag-filter-layout .form-control,
.sag-filter-layout .select2-container--bootstrap .select2-selection,
.sag-filter-layout .select2-container .select2-selection--single,
.sag-filter-layout .select2-container .select2-selection--multiple {
    height: 30px !important;
    min-height: 30px !important;
    border: 1px solid #cfd9e5;
    border-radius: 10px;
    background: #fdfefe;
    color: #24364b;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.75);
    font-size: 12px !important;
    line-height: 1.2 !important;
    padding-top: 4px !important;
    padding-bottom: 4px !important;
    padding-left: 10px;
    padding-right: 10px;
}

.sag-filter-layout textarea.form-control {
    height: auto !important;
    min-height: 72px !important;
}

.sag-filter-layout .form-control:focus,
.sag-filter-layout .select2-container--focus .select2-selection,
.sag-filter-layout .select2-container--open .select2-selection {
    border-color: #7ea6ff;
    box-shadow: 0 0 0 3px rgba(83, 126, 255, 0.14);
}

.sag-filter-layout .select2-container .select2-selection__rendered {
    line-height: 28px !important;
    color: #24364b;
    font-size: 12px !important;
    padding-left: 0 !important;
    padding-right: 18px !important;
}

.sag-filter-layout .select2-container .select2-selection__arrow {
    height: 28px !important;
}

.sag-filter-layout .select2-container .select2-selection--multiple {
    display: flex !important;
    align-items: center;
    height: auto !important;
    min-height: 32px !important;
    padding: 3px 36px 3px 6px !important;
}

.sag-filter-layout .select2-container .select2-selection--multiple .select2-selection__rendered {
    display: flex !important;
    flex-wrap: wrap;
    align-items: center;
    gap: 4px;
    width: 100%;
    min-height: 22px;
    line-height: normal !important;
    padding: 0 !important;
}

.sag-filter-layout .select2-container .select2-selection--multiple .select2-selection__choice {
    display: inline-flex !important;
    align-items: center;
    gap: 4px;
    margin: 0 !important;
    padding: 3px 8px !important;
    border: 1px solid #9fb9d5 !important;
    border-radius: 6px !important;
    background: linear-gradient(180deg, #d9e9fb 0%, #bfd6ef 100%) !important;
    color: #38536f !important;
    font-size: 12px !important;
    line-height: 1.2 !important;
}

.sag-filter-layout .select2-container .select2-selection--multiple .select2-selection__choice__remove {
    margin-right: 2px !important;
    color: #5a7088 !important;
    font-size: 12px !important;
    line-height: 1 !important;
}

.sag-filter-layout .select2-container .select2-selection--multiple .select2-search--inline,
.sag-filter-layout .select2-container .select2-selection--multiple .select2-search--inline .select2-search__field {
    margin: 0 !important;
}

.sag-filter-layout .select2-container .select2-selection--multiple .select2-search--inline .select2-search__field {
    height: 22px !important;
    line-height: 22px !important;
}

/* LISTAGENS: padrao visual alinhado aos cadastros, preservando filtros de coluna */
.sag-list-layout {
    display: block !important;
    height: auto !important;
    min-height: 0 !important;
    --sag-list-table-offset: 236px;
    position: relative;
    padding: 18px 20px 6px;
    background: linear-gradient(180deg, #fdfefe 0%, #f4f7fb 100%);
    border-radius: 0 14px 14px 14px;
    overflow: visible !important;
}

html.has-tab-navigation .sag-list-layout {
    padding: 18px 20px 6px !important;
    background: linear-gradient(180deg, #fdfefe 0%, #f4f7fb 100%) !important;
    border-radius: 0 14px 14px 14px !important;
}

.sag-list-layout .row {
    margin-left: -6px !important;
    margin-right: -6px !important;
}

.sag-list-layout [class*="col-"] {
    padding-left: 6px !important;
    padding-right: 6px !important;
}

.sag-list-header {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: center;
    gap: 14px 18px;
    margin: 0 0 18px;
    padding: 12px 16px 14px;
    position: relative;
    height: auto !important;
    min-height: 0;
    overflow: visible;
    isolation: auto;
    z-index: auto;
    border: 1px solid #d8e0ea;
    border-radius: 16px;
    background: linear-gradient(180deg, #fdfefe 0%, #f2f5f9 100%);
    box-shadow: 0 8px 18px rgba(15, 23, 42, 0.06);
}

html.fixed .sag-list-header,
html.fixed.has-top-menu:not(.has-left-sidebar-half) .sag-list-header,
html.has-tab-navigation .sag-list-header {
    position: relative !important;
    left: auto !important;
    right: auto !important;
    top: auto !important;
    width: auto !important;
    margin: 0 0 18px !important;
    padding: 12px 16px 14px !important;
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) auto !important;
    background: linear-gradient(180deg, #fdfefe 0%, #f2f5f9 100%) !important;
    border: 1px solid #d8e0ea !important;
    border-radius: 16px !important;
    box-shadow: 0 8px 18px rgba(15, 23, 42, 0.06) !important;
    overflow: visible !important;
    isolation: auto !important;
    z-index: auto !important;
}

@media (max-width: 1400px) {
    .sag-list-header {
        grid-template-columns: 1fr;
    }

    .sag-list-actions {
        justify-content: flex-start;
        padding-left: 0;
        border-left: none;
        border-bottom: 1px solid #e1e8f0;
        padding-bottom: 10px;
    }
}

.sag-list-header .card-actions,
html.fixed .sag-list-header .card-actions {
    position: static !important;
    top: auto !important;
    right: auto !important;
    left: auto !important;
    float: none !important;
    margin: 0 !important;
}

html.fixed.has-top-menu:not(.has-left-sidebar-half) .sag-list-header .card-actions,
html.has-tab-navigation .sag-list-header .card-actions {
    position: static !important;
    top: auto !important;
    right: auto !important;
    left: auto !important;
    float: none !important;
    margin: 0 !important;
}

.sag-list-header .left-wrapper,
.sag-list-header .right-wrapper {
    float: none !important;
    width: auto !important;
    margin: 0 !important;
}

html.has-tab-navigation .sag-list-header .left-wrapper,
html.has-tab-navigation .sag-list-header .right-wrapper {
    float: none !important;
    width: auto !important;
    margin: 0 !important;
}

.sag-list-title-wrap {
    order: 1;
    min-width: 0;
    align-self: center;
    padding: 2px 2px 0;
}

.sag-list-layout .breadcrumbs {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    margin: 0;
    padding: 2px 0;
    line-height: 1.35;
}

.sag-list-layout .breadcrumbs li {
    display: inline-flex;
    align-items: center;
    margin: 0;
}

.sag-list-layout .breadcrumbs li:after {
    margin-left: 6px;
    color: #9aa8ba;
}

.sag-list-layout .breadcrumbs a,
.sag-list-layout .breadcrumbs span {
    color: #4c6078;
    font-size: 10px;
    font-weight: 600;
    letter-spacing: 0.02em;
    text-transform: uppercase;
}

.sag-list-actions {
    order: 2;
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end;
    gap: 8px;
    align-items: center;
    align-self: start;
    min-width: 0;
    max-width: 100%;
    width: auto;
    padding-left: 18px;
    padding-bottom: 0;
    border-left: 1px solid #e1e8f0;
    border-bottom: none;
}

.sag-list-header .card-actions-overflow {
    flex-wrap: wrap !important;
    justify-content: flex-end !important;
    row-gap: 8px !important;
}

.sag-list-header .card-actions-overflow-toggle {
    display: none !important;
}

.sag-list-filter {
    background: rgba(255, 255, 255, 0.98);
    border: 1px solid #d8e0ea;
    border-radius: 16px;
    margin: 0 0 8px 0;
    padding: 10px 12px 8px;
    box-shadow: 0 10px 24px rgba(15, 23, 42, 0.06);
    overflow: hidden;
    transition: max-height 220ms ease, opacity 180ms ease, margin-bottom 180ms ease, padding 180ms ease, border-width 180ms ease;
}

.sag-list-filter.collapsed {
    max-height: 0;
    opacity: 0;
    padding-top: 0;
    padding-bottom: 0;
    margin-bottom: 0;
    border-width: 0;
    box-shadow: none;
}

.sag-list-filter.is-open {
    opacity: 1;
}

.sag-list-filter-form .form-group {
    margin-bottom: 7px;
}

.sag-list-filter-form .col-form-label {
    display: block;
    font-size: 11px;
    font-weight: 700;
    color: #60748b;
    margin-bottom: 3px;
    text-transform: uppercase;
    letter-spacing: 0.03em;
}

.sag-list-filter-form .form-control-sm {
    font-size: 11px;
}

.sag-list-filter-form .form-control,
.sag-list-filter-form .select2-container .select2-selection--single,
.sag-list-filter-form .select2-container .select2-selection--multiple {
    min-height: 28px !important;
    border-radius: 9px !important;
    font-size: 11px !important;
}

.sag-list-filter-form .select2-container {
    width: 100% !important;
}

.sag-list-filter-form .select2-container .select2-selection--single,
.sag-list-filter-form .select2-container .select2-selection--multiple {
    border: 1px solid #c8d5e6 !important;
    background: #fff !important;
    box-shadow: none !important;
    padding: 1px 8px !important;
}

.sag-list-filter-form .select2-container .select2-selection--single {
    display: flex !important;
    align-items: center !important;
    height: 28px !important;
    padding-right: 28px !important;
}

.sag-list-filter-form .select2-container .select2-selection--single .select2-selection__rendered {
    line-height: 20px !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
    color: #314459 !important;
    font-size: 11px !important;
}

.sag-list-filter-form .select2-container .select2-selection__arrow {
    height: 26px !important;
}

.sag-list-filter-form .select2-container .select2-selection--multiple {
    display: flex !important;
    align-items: center;
    height: 28px !important;
    min-height: 28px !important;
    padding: 1px 28px 1px 4px !important;
    overflow: hidden !important;
}

.sag-list-filter-form .select2-container .select2-selection--multiple .select2-selection__rendered {
    display: flex !important;
    flex-wrap: nowrap;
    gap: 4px;
    width: 100%;
    min-height: 24px;
    overflow: hidden;
    white-space: nowrap;
    padding: 0 !important;
    line-height: normal !important;
}

.sag-list-filter-form .select2-container .select2-selection--multiple .select2-selection__choice {
    display: inline-flex !important;
    align-items: center;
    gap: 4px;
    margin: 0 !important;
    padding: 2px 6px !important;
    border: 1px solid #9fb9d5 !important;
    border-radius: 8px !important;
    background: linear-gradient(180deg, #d9e9fb 0%, #bfd6ef 100%) !important;
    color: #38536f !important;
    font-size: 10px !important;
    line-height: 1.2 !important;
    max-width: 120px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.sag-list-filter-form .select2-container .select2-selection--multiple .select2-selection__choice__remove {
    margin-right: 2px !important;
    color: #5a7088 !important;
    font-size: 12px !important;
    line-height: 1 !important;
}

.sag-list-filter-form .select2-container--focus .select2-selection--single,
.sag-list-filter-form .select2-container--focus .select2-selection--multiple {
    border-color: #77a8da !important;
    box-shadow: 0 0 0 3px rgba(17, 113, 208, 0.12) !important;
}

.sag-list-filter-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    justify-content: flex-start;
    padding-top: 2px;
    align-items: center;
}

.sag-list-filter-actions .btn,
.sag-list-filter-actions a.btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    min-height: 28px;
    padding: 4px 10px;
    border-radius: 9px;
    border: 1px solid #d5dde7;
    box-shadow: none;
    font-weight: 600;
    font-size: 11px;
}

.sag-list-filter-actions .btn-primary,
.sag-list-filter-actions .btn.btn-primary {
    border-color: #b9cdf3;
    background: linear-gradient(180deg, #ffffff 0%, #edf4ff 100%);
    color: #2f62d8;
}

.sag-list-filter-actions .btn-outline-secondary,
.sag-list-filter-actions .btn.btn-outline-secondary {
    background: linear-gradient(180deg, #ffffff 0%, #f0f3f7 100%);
    border-color: #d5dde7;
    color: #58697f;
}

.sag-list-filter-actions .btn-primary:hover,
.sag-list-filter-actions .btn.btn-primary:hover,
.sag-list-filter-actions .btn-outline-secondary:hover,
.sag-list-filter-actions .btn.btn-outline-secondary:hover {
    filter: brightness(0.98);
}

.sag-list-filter-form .col-form-label {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    white-space: nowrap;
}

.sag-list-filter-form .col-form-label i {
    width: 12px;
    text-align: center;
    font-size: 11px;
    color: #60748b;
}

.sag-list-filter-form input::placeholder {
    color: #7f91a6;
    font-style: italic;
    opacity: 1;
}

#tms002-posicaofrota-filtro-form label[for="dtinicial"],
#tms002-posicaofrota-filtro-form label[for="codigo_programacao"],
#tms002-posicaofrota-filtro-form label[for="status"],
#tms002-posicaofrota-filtro-form label[for="veiculo"] {
    position: relative;
    color: transparent;
}

#tms002-posicaofrota-filtro-form label[for="dtinicial"] i,
#tms002-posicaofrota-filtro-form label[for="codigo_programacao"] i,
#tms002-posicaofrota-filtro-form label[for="status"] i,
#tms002-posicaofrota-filtro-form label[for="veiculo"] i {
    color: #60748b;
}

#tms002-posicaofrota-filtro-form label[for="dtinicial"]::after,
#tms002-posicaofrota-filtro-form label[for="codigo_programacao"]::after,
#tms002-posicaofrota-filtro-form label[for="status"]::after,
#tms002-posicaofrota-filtro-form label[for="veiculo"]::after {
    position: absolute;
    left: 16px;
    top: 0;
    color: #60748b;
    font-size: 11px;
    font-weight: 700;
    line-height: 1.2;
}

#tms002-posicaofrota-filtro-form label[for="dtinicial"]::after {
    content: "Data Inicio";
}

#tms002-posicaofrota-filtro-form label[for="codigo_programacao"]::after {
    content: "Programacao";
}

#tms002-posicaofrota-filtro-form label[for="status"]::after {
    content: "Situacao";
}

#tms002-posicaofrota-filtro-form label[for="veiculo"]::after {
    content: "Veiculo";
}

.tms002-posicaofrota-cad-grid {
    display: grid !important;
    grid-template-columns: repeat(12, minmax(0, 1fr));
    gap: 10px 8px;
    margin-left: 0 !important;
    margin-right: 0 !important;
}

.tms002-posicaofrota-cad-grid > [class*="col-"] {
    width: auto !important;
    max-width: none !important;
    flex: initial !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
}

.tms002-posicaofrota-cad-grid > [class*="col-"]:nth-child(1),
.tms002-posicaofrota-cad-grid > [class*="col-"]:nth-child(2),
.tms002-posicaofrota-cad-grid > [class*="col-"]:nth-child(3),
.tms002-posicaofrota-cad-grid > [class*="col-"]:nth-child(4),
.tms002-posicaofrota-cad-grid > [class*="col-"]:nth-child(5),
.tms002-posicaofrota-cad-grid > [class*="col-"]:nth-child(6),
.tms002-posicaofrota-cad-grid > [class*="col-"]:nth-child(7) {
    grid-column: span 1;
}

.tms002-posicaofrota-cad-grid > [class*="col-"]:nth-child(8) {
    grid-column: span 2;
}

.tms002-posicaofrota-cad-grid > [class*="col-"]:nth-child(9) {
    grid-column: span 3;
}

.tms002-posicaofrota-cad-grid > [class*="col-"]:nth-child(10) {
    grid-column: span 2;
}

.tms002-posicaofrota-cad-grid > [class*="col-"]:nth-child(11),
.tms002-posicaofrota-cad-grid > [class*="col-"]:nth-child(12),
.tms002-posicaofrota-cad-grid > [class*="col-"]:nth-child(13),
.tms002-posicaofrota-cad-grid > [class*="col-"]:nth-child(14),
.tms002-posicaofrota-cad-grid > [class*="col-"]:nth-child(15) {
    grid-column: span 1;
}

.tms002-posicaofrota-cad-grid > [class*="col-"]:nth-child(16),
.tms002-posicaofrota-cad-grid > [class*="col-"]:nth-child(17) {
    grid-column: span 3;
}

.tms002-posicaofrota-cad-grid > [class*="col-"]:nth-child(18) {
    display: none;
}

.tms002-posicaofrota-cad-grid > [class*="col-"]:nth-child(19),
.tms002-posicaofrota-cad-grid > [class*="col-"]:nth-child(20),
.tms002-posicaofrota-cad-grid > [class*="col-"]:nth-child(21),
.tms002-posicaofrota-cad-grid > [class*="col-"]:nth-child(22) {
    grid-column: span 2;
}

.tms002-posicaofrota-cad-grid > [class*="col-"]:nth-child(23) {
    grid-column: span 4;
}

.tms002-posicaofrota-cad-grid > [class*="col-"]:nth-child(24),
.tms002-posicaofrota-cad-grid > [class*="col-"]:nth-child(25) {
    grid-column: span 3;
}

.tms002-posicaofrota-cad-grid > [class*="col-"]:nth-child(26) {
    grid-column: span 6;
}

.tms002-posicaofrota-cad-grid > [class*="col-"]:nth-child(27),
.tms002-posicaofrota-cad-grid > [class*="col-"]:nth-child(28),
.tms002-posicaofrota-cad-grid > [class*="col-"]:nth-child(29) {
    grid-column: span 2;
}

.tms002-posicaofrota-cad-grid label.col-form-label {
    min-height: 28px;
    line-height: 1.2;
}

@media (max-width: 1199px) {
    .tms002-posicaofrota-cad-grid {
        grid-template-columns: repeat(6, minmax(0, 1fr));
    }

    .tms002-posicaofrota-cad-grid > [class*="col-"] {
        grid-column: span 2 !important;
    }

    .tms002-posicaofrota-cad-grid > [class*="col-"]:nth-child(8),
    .tms002-posicaofrota-cad-grid > [class*="col-"]:nth-child(9),
    .tms002-posicaofrota-cad-grid > [class*="col-"]:nth-child(16),
    .tms002-posicaofrota-cad-grid > [class*="col-"]:nth-child(17),
    .tms002-posicaofrota-cad-grid > [class*="col-"]:nth-child(23),
    .tms002-posicaofrota-cad-grid > [class*="col-"]:nth-child(24),
    .tms002-posicaofrota-cad-grid > [class*="col-"]:nth-child(25),
    .tms002-posicaofrota-cad-grid > [class*="col-"]:nth-child(26) {
        grid-column: span 3 !important;
    }
}

@media (max-width: 767px) {
    .tms002-posicaofrota-cad-grid {
        grid-template-columns: 1fr;
    }

    .tms002-posicaofrota-cad-grid > [class*="col-"] {
        grid-column: span 1 !important;
    }
}

.sag-list-layout .page-header .card-actions .btn,
.sag-list-layout .page-header .card-actions a.btn,
.sag-list-layout .page-header .card-actions .dropdown-toggle {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    min-height: 32px;
    padding: 6px 12px;
    border-radius: 10px;
    border: 1px solid #d5dde7;
    box-shadow: none;
    font-weight: 600;
    font-size: 12px;
}

.sag-list-layout .page-header .card-actions .btn-success {
    border-color: #c6d4ff;
    background: linear-gradient(180deg, #f8fbff 0%, #e7f0ff 100%);
    color: #2759d8;
}

.sag-list-layout .page-header .card-actions .btn-default,
.sag-list-layout .page-header .card-actions .btn.btn-default {
    background: linear-gradient(180deg, #ffffff 0%, #f0f3f7 100%);
    color: #58697f;
}

.sag-list-layout .page-header .card-actions .btn-info,
.sag-list-layout .page-header .card-actions .btn-warning,
.sag-list-layout .page-header .card-actions .btn-primary,
.sag-list-layout .page-header .card-actions .btn-dark,
.sag-list-layout .page-header .card-actions .btn-secondary {
    color: #314459;
}

.sag-list-layout .page-header .dropdown-menu,
.sag-list-layout .card-actions-overflow-menu {
    z-index: 1600 !important;
}

.sag-list-layout .page-header .dropdown,
.sag-list-layout .page-header .btn-group {
    position: relative;
    z-index: auto;
}

.sag-list-layout .page-header .dropdown.show,
.sag-list-layout .page-header .btn-group.show,
.sag-list-layout .page-header .dropdown:has(.dropdown-menu.show),
.sag-list-layout .page-header .btn-group:has(.dropdown-menu.show) {
    z-index: 1500;
}

.sag-list-panel {
    margin-top: 0 !important;
    padding: 8px 8px 2px !important;
    border: 1px solid #d8e0ea !important;
    border-radius: 16px !important;
    background: rgba(255, 255, 255, 0.96) !important;
    box-shadow: 0 18px 40px rgba(15, 23, 42, 0.08) !important;
    overflow: visible !important;
    min-height: 0 !important;
    height: auto !important;
    max-height: none !important;
}

.sag-list-layout .sag-list-panel > .card-body-tms,
.sag-list-layout .sag-list-panel > .card-body,
.sag-list-layout .sag-list-panel > .card-body-tms > .card-body-tms,
.sag-list-layout .sag-list-panel > .card-body > .card-body,
.sag-list-layout .sag-list-panel > .card-body > .card-body-tms,
.sag-list-layout .sag-list-panel > .card-body-tms > .card-body {
    margin-top: 0 !important;
    padding-top: 0 !important;
}

.sag-list-extra-toolbar {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 8px;
    margin: 0 0 12px;
    padding: 2px 0 0;
    position: relative;
    z-index: 2;
}

.sag-list-extra-toolbar > * {
    flex: 0 0 auto;
}

.sag-list-extra-toolbar .btn-group {
    display: inline-flex;
    flex-wrap: wrap;
    gap: 0;
}

.sag-list-subtoolbar {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 8px;
    margin: 0 0 12px;
    padding: 8px 0 0;
    position: relative;
    z-index: 2;
}

.sag-list-table-wrap {
    position: relative;
    z-index: 1;
    margin-top: 6px;
}

.sag-list-layout .card-body-tms > .mb-3,
.sag-list-layout .card-body-tms > [class*="px-"],
.sag-list-layout .card-body-tms > [class*="pt-"] {
    position: relative;
    z-index: 2;
}

.sag-list-layout .card-body-tms > .mb-3:first-child,
.sag-list-layout .card-body-tms > [class*="px-"]:first-child,
.sag-list-layout .card-body-tms > [class*="pt-"]:first-child {
    margin-top: 8px !important;
}

.sag-list-layout .table-responsive,
.sag-list-layout #datatable-tabletools_wrapper .table-responsive {
    min-height: 300px !important;
    height: calc(100dvh - var(--sag-list-table-offset)) !important;
    max-height: calc(100dvh - var(--sag-list-table-offset)) !important;
    overflow-x: auto !important;
    overflow-y: auto !important;
    margin-bottom: 0 !important;
    padding-bottom: 0 !important;
}

.sag-list-layout .dataTables_wrapper .row:last-child {
    margin-top: 0 !important;
    margin-bottom: 0 !important;
}

.sag-list-layout .dataTables_wrapper .row:last-child > [class*="col-"] {
    padding-top: 0 !important;
    padding-bottom: 0 !important;
}

.sag-list-layout .dataTables_info,
.sag-list-layout .dataTables_paginate {
    margin-top: 0 !important;
    margin-bottom: 0 !important;
    padding-top: 0 !important;
    padding-bottom: 0 !important;
    min-height: 0 !important;
    line-height: 1.2 !important;
    font-size: 11px !important;
}

.sag-list-layout .dataTables_paginate,
.sag-list-layout #datatable-tabletools_wrapper .dataTables_paginate {
    display: none !important;
}

.sag-list-layout .dataTables_wrapper,
.sag-list-layout #datatable-tabletools_wrapper {
    margin-bottom: 0 !important;
    padding-bottom: 0 !important;
}

.sag-list-layout .dataTables_wrapper .row:last-child .dataTables_info,
.sag-list-layout .dataTables_wrapper .row:last-child .dataTables_paginate,
.sag-list-layout #datatable-tabletools_wrapper .row:last-child .dataTables_info,
.sag-list-layout #datatable-tabletools_wrapper .row:last-child .dataTables_paginate {
    padding-top: 0 !important;
    padding-bottom: 0 !important;
}

.sag-list-layout .dataTables_paginate .paginate_button,
.sag-list-layout .dataTables_paginate a {
    margin-bottom: 0 !important;
    padding-top: 0 !important;
    padding-bottom: 0 !important;
}

.sag-list-layout td,
.sag-list-layout th {
    white-space: nowrap !important;
    overflow: visible !important;
    text-overflow: clip !important;
}

.sag-list-layout #datatable-tabletools {
    margin-bottom: 0;
}

.sag-list-layout #datatable-tabletools thead th {
    padding: 10px 12px !important;
    border-right: 1px solid #d4dbe3 !important;
    border-bottom: 1px solid #c4ccd6 !important;
    background: linear-gradient(180deg, #f5f7fa 0%, #e4e9ef 100%) !important;
    color: #35506b !important;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0.02em;
    vertical-align: middle;
}

.sag-list-layout .dataTables_wrapper table thead th,
.sag-list-layout #datatable-tabletools_wrapper table thead th {
    padding: 10px 12px !important;
    border-right: 1px solid #d4dbe3 !important;
    border-bottom: 1px solid #c4ccd6 !important;
    background: linear-gradient(180deg, #f5f7fa 0%, #e4e9ef 100%) !important;
    color: #35506b !important;
    z-index: 1001 !important;
}

.sag-list-layout #datatable-tabletools thead th:first-child {
    width: 44px;
    min-width: 44px;
    padding: 8px 6px !important;
    text-align: center;
}

.sag-list-layout #datatable-tabletools thead th:last-child {
    border-right: none !important;
}

.sag-list-layout #datatable-tabletools thead .header-filter {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
    width: 100%;
}

.sag-list-layout #datatable-tabletools thead .header-filter > div:first-child {
    display: inline-flex !important;
    align-items: center;
    gap: 8px;
    min-width: 0;
    width: 100%;
}

.sag-list-layout #datatable-tabletools thead .header-title {
    display: inline-block;
    min-width: 0;
    color: #35506b !important;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0.02em;
    white-space: nowrap;
}

.sag-list-layout #datatable-tabletools thead .btn-filter-toggle {
    flex: 0 0 auto;
    width: 26px;
    height: 26px;
    border-radius: 8px;
    border-color: #c6d0da;
    background: linear-gradient(180deg, #ffffff 0%, #edf2f7 100%);
    color: #47627d;
    box-shadow: 0 1px 2px rgba(15, 23, 42, 0.08);
}

.sag-list-layout #datatable-tabletools thead .btn-filter-toggle:hover,
.sag-list-layout #datatable-tabletools thead .btn-filter-toggle:focus,
.sag-list-layout #datatable-tabletools thead .btn-filter-toggle[aria-expanded="true"] {
    background: linear-gradient(180deg, #eef4fa 0%, #dde7f1 100%);
    border-color: #9cb1c7;
    color: #fff;
    color: #2f4b66;
    box-shadow: 0 3px 8px rgba(15, 23, 42, 0.12);
}

.sag-list-layout #datatable-tabletools thead .filter-menu {
    top: 34px;
    left: 0;
    border: 1px solid #d3dde8;
    border-radius: 12px;
    background: #fdfefe;
    box-shadow: 0 16px 36px rgba(15, 23, 42, 0.12);
}

.sag-list-layout #datatable-tabletools thead .filter-actions {
    border-bottom: 1px solid #e4ebf3;
    margin-bottom: 8px;
    padding-bottom: 8px;
}

.sag-list-layout #datatable-tabletools thead .filter-search input {
    border: 1px solid #d3dde8;
    background: #f8fbfe;
    color: #33465c;
}

.sag-list-layout #datatable-tabletools thead .filter-search input::placeholder {
    color: #8191a3;
}

.sag-list-layout #datatable-tabletools thead .filter-item,
.sag-list-layout #datatable-tabletools thead .filter-item small {
    color: #33465c;
}

.sag-list-layout #datatable-tabletools thead .sorting:before,
.sag-list-layout #datatable-tabletools thead .sorting:after,
.sag-list-layout #datatable-tabletools thead .sorting_asc:before,
.sag-list-layout #datatable-tabletools thead .sorting_asc:after,
.sag-list-layout #datatable-tabletools thead .sorting_desc:before,
.sag-list-layout #datatable-tabletools thead .sorting_desc:after {
    color: rgba(53, 80, 107, 0.72) !important;
    opacity: 1 !important;
}

.sag-list-layout #datatable-tabletools thead .filter-item {
    border-radius: 8px;
}

.sag-list-layout #datatable-tabletools thead .filter-item:hover {
    background: #f3f7fb;
}

.sag-list-layout #datatable-tabletools td,
.sag-list-layout #datatable-tabletools th {
    vertical-align: middle;
}

/* MOBILE FIRST: destrava rolagem e remove layout dividido em telas TMS */
@media (max-width: 991px) {
    .sag-filter-layout {
        padding: 12px 12px 14px;
    }

    .sag-filter-header {
        grid-template-columns: 1fr;
        gap: 12px;
    }

    .sag-filter-actions {
        justify-content: flex-start;
        padding-left: 0;
        border-left: none;
        border-bottom: 1px solid #e1e8f0;
        padding-bottom: 10px;
    }

    .sag-cad-layout {
        padding: 12px 12px 22px;
    }

    .sag-filter-panel,
    .sag-list-panel {
        padding: 10px !important;
    }

    .sag-list-layout {
        padding: 12px 12px 4px !important;
    }

    .sag-list-layout .table-responsive,
    .sag-list-layout #datatable-tabletools_wrapper .table-responsive {
        height: auto !important;
        max-height: none !important;
        min-height: 0 !important;
        margin-bottom: 0 !important;
    }

    .sag-cad-header {
        grid-template-columns: 1fr;
        gap: 12px;
    }

    .sag-cad-actions {
        justify-content: flex-start;
        padding-left: 0;
        border-left: none;
        border-bottom: 1px solid #e1e8f0;
        padding-bottom: 10px;
    }

    html,
    body {
        overflow-y: auto !important;
        overflow-x: hidden !important;
        height: auto !important;
        min-height: 100% !important;
    }

    .inner-wrapper,
    .content-body {
        height: auto !important;
        min-height: 0 !important;
        overflow: visible !important;
    }

    .content-body.card-margin .card,
    .card-body,
    .card-body-tms {
        height: auto !important;
        min-height: 0 !important;
        overflow: visible !important;
        margin-top: 10px !important;
    }

    .tab-content,
    .tab-pane,
    #cadform .tab-content,
    #cadform .tab-pane {
        height: auto !important;
        max-height: none !important;
        overflow: visible !important;
    }

    .table-responsive {
        height: auto !important;
        min-height: 0 !important;
        overflow-x: auto !important;
        overflow-y: visible !important;
        -webkit-overflow-scrolling: touch;
    }

    .torretms_cad {
        grid-template-columns: 1fr !important;
        gap: 8px !important;
    }

    .torretms_cadform,
    .torretms_cadtab {
        width: 100% !important;
    }

    #mapa {
        height: 50vh !important;
        max-height: 60vh !important;
        min-height: 280px !important;
    }
}

/* Tablet responsivo: quando o menu estiver recolhido, nao reservar 300px no content-body */
@media (min-width: 768px) and (max-width: 991px) {
    html.mobile-device.flexbox:not(.has-tab-navigation).sidebar-left-collapsed .content-body,
    html.mobile-device.flexboxlegacy:not(.has-tab-navigation).sidebar-left-collapsed .content-body {
        width: calc(100vw - 73px) !important;
    }
}

/* Escala tipografica por faixas de resolucao do sistema */
html {
    font-size: 14px;
}

@media (min-width: 1440px) and (min-height: 760px) {
    html {
        font-size: 14.5px;
    }
}

@media (min-width: 1680px) and (min-height: 900px) {
    html {
        font-size: 15px;
    }
}

@media (min-width: 1920px) and (min-height: 1000px) {
    html {
        font-size: 15.5px;
    }
}

@media (max-width: 1366px), (max-height: 720px) {
    html {
        font-size: 13px;
    }
}

/* Busca padrao no sidebar */
.sag-sidebar-search-host {
    flex: 0 0 auto;
    padding: 10px 9px 8px;
    border-bottom: 1px solid #d8e5f1;
}

.sag-sidebar-search-host .sag-top-search {
    display: block;
    margin: 0;
    min-width: 0;
    width: 100%;
}

.sag-sidebar-search-host .sag-top-search .input-group {
    width: 100%;
    display: flex;
    align-items: stretch;
    border: 1px solid #b8cce0;
    border-radius: 6px;
    background: #fff;
    box-shadow: 0 1px 2px rgba(15, 23, 42, 0.04);
    overflow: hidden;
}

.sag-sidebar-search-host .sag-top-search .form-control {
    height: 34px;
    min-height: 34px !important;
    font-size: 0.86rem;
    border: 0 !important;
    border-radius: 0 !important;
    background: #fff;
    box-shadow: none !important;
    padding-left: 10px !important;
}

.sag-sidebar-search-host .sag-top-search .btn-search {
    width: 38px;
    height: 34px;
    padding: 0;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border: 0 !important;
    border-radius: 0 !important;
    background: #2b5d85 !important;
    color: #fff !important;
    box-shadow: none !important;
}

.sag-sidebar-search-host .sag-top-search .btn-search .material-symbols-outlined {
    font-size: 18px;
}

.sag-sidebar-search-host .sag-top-search-list {
    left: 10px;
    right: 10px;
    width: auto;
    max-height: 260px;
}

html.sidebar-left-collapsed .sag-sidebar-search-host {
    padding: 8px 6px;
}

html.sidebar-left-collapsed .sag-sidebar-search-host .sag-top-search .form-control,
html.sidebar-left-collapsed .sag-sidebar-search-host .sag-top-search-list {
    display: none;
}

html.sidebar-left-collapsed .sag-sidebar-search-host .sag-top-search .input-group-prepend {
    width: 100%;
}

html.sidebar-left-collapsed .sag-sidebar-search-host .sag-top-search .btn-search {
    width: 100%;
}

html.sidebar-left-collapsed .sidebar-left:hover .sag-sidebar-search-host .sag-top-search .form-control,
html.sidebar-left-collapsed.sidebar-left-opened .sag-sidebar-search-host .sag-top-search .form-control {
    display: block;
}

html.sidebar-left-collapsed .sidebar-left:hover .sag-sidebar-search-host .sag-top-search .input-group-prepend,
html.sidebar-left-collapsed.sidebar-left-opened .sag-sidebar-search-host .sag-top-search .input-group-prepend {
    width: auto;
}

html.sidebar-left-collapsed .sidebar-left:hover .sag-sidebar-search-host .sag-top-search .btn-search,
html.sidebar-left-collapsed.sidebar-left-opened .sag-sidebar-search-host .sag-top-search .btn-search {
    width: 38px;
}

/* Tela de login: preserva o visual original, fora da densidade dos cadastros */
.sag-login-page {
    background: #07598f !important;
}

.body-sign {
    max-width: 500px !important;
    padding: 0 15px !important;
    background: transparent !important;
}

.body-sign .center-sign {
    padding-top: 20px !important;
    vertical-align: middle !important;
}

.body-sign .logo {
    display: block !important;
    float: none !important;
    width: 424px !important;
    margin: 0 auto 26px !important;
}

.body-sign .logo img {
    height: 45px !important;
    width: auto !important;
    display: block !important;
}

.body-sign .card-sign {
    width: 424px !important;
    margin: 0 auto !important;
    background: transparent !important;
}

.body-sign .card-sign .card-title-sign {
    margin-top: -62px !important;
    text-align: right !important;
}

.body-sign .card-sign .card-body,
.body-sign .card-sign .card-body-tms {
    padding: 34px 33px 18px !important;
    border-top: 5px solid #0088cc !important;
    border-radius: 5px 0 5px 5px !important;
    background: #fff !important;
    box-shadow: 0 1px 2px rgba(0, 0, 0, 0.1) !important;
}

.body-sign .card-sign .card-body form,
.body-sign .card-sign .card-body-tms form {
    width: 366px !important;
    max-width: 100% !important;
    margin: 0 auto !important;
}

.body-sign .card-sign .card-title-sign .title {
    font-size: 0.75rem !important;
    padding: 28px 17px !important;
    border-radius: 5px 5px 0 0 !important;
    background-color: #0088cc !important;
    color: #fff !important;
    min-width: 73px !important;
    height: 62px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
}

.body-sign label {
    font-size: 0.85rem !important;
    line-height: 1.4 !important;
    margin-bottom: 6px !important;
    color: #4b5f75 !important;
}

.body-sign .form-group {
    margin-bottom: 15px !important;
}

.body-sign .input-group {
    display: flex !important;
    flex-wrap: nowrap !important;
    align-items: stretch !important;
}

.body-sign .form-control,
.body-sign input.form-control,
.body-sign .form-control-lg {
    height: 29px !important;
    min-height: 29px !important;
    padding: 4px 10px !important;
    font-size: 0.8rem !important;
    line-height: 1.5 !important;
    border: 1px solid #9aa4ad !important;
    border-left: 2px solid #dc3545 !important;
    border-radius: 3px 0 0 3px !important;
    box-shadow: none !important;
    flex: 1 1 auto !important;
    width: auto !important;
    max-width: none !important;
}

.body-sign .input-group-text {
    min-width: 37px !important;
    width: 37px !important;
    height: 29px !important;
    padding: 0 !important;
    justify-content: center;
    border: 1px solid #9aa4ad !important;
    border-left: 0 !important;
    border-radius: 0 3px 3px 0 !important;
    background: #e9ecef !important;
    color: #4d5965 !important;
}

.body-sign .btn-primary {
    height: 47px;
    width: 100%;
    border-radius: 4px;
    font-size: 0.95rem;
    background: #0088cc !important;
    border-color: #0088cc !important;
    margin-top: 2px !important;
}

.body-sign form > .row {
    margin-left: 0 !important;
    margin-right: 0 !important;
    width: 100% !important;
}

.body-sign form > .row > .col-sm-8 {
    display: none !important;
}

.body-sign form > .row > .col-sm-4 {
    flex: 0 0 100% !important;
    max-width: 100% !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
}

.body-sign .line-thru {
    margin: 15px 0 0 !important;
}

.body-sign .line-thru span {
    display: none !important;
}

.body-sign .line-thru:before,
.body-sign .line-thru:after {
    width: 35% !important;
    background: #e4e7ea !important;
}

.body-sign a p.text-muted {
    color: rgba(255, 255, 255, 0.74) !important;
    font-size: 0.7rem !important;
    margin-top: 18px !important;
}

/* Ajuste final do login: conteudo interno mais estreito e centralizado */
body.sag-login-page .body-sign .card-sign .card-body,
body.sag-login-page .body-sign .card-sign .card-body-tms {
    padding: 30px 38px 16px !important;
}

body.sag-login-page .body-sign .card-sign .card-body form,
body.sag-login-page .body-sign .card-sign .card-body-tms form {
    width: 340px !important;
    max-width: 340px !important;
    margin-left: auto !important;
    margin-right: auto !important;
}

body.sag-login-page .body-sign .input-group,
body.sag-login-page .body-sign .btn-primary,
body.sag-login-page .body-sign form > .row {
    width: 100% !important;
    max-width: 100% !important;
}

/* Header de cadastro no topo */
.header .header-right {
    display: flex;
    align-items: center;
    gap: 10px;
}

.sag-cad-header-slot {
    flex: 1 1 0 !important;
    min-width: 0;
    width: auto !important;
    display: flex;
    align-items: center;
    justify-content: space-between;
    position: relative;
    z-index: 2300;
    overflow: visible !important;
}

.sag-cad-header-slot:empty {
    display: none;
}

.sag-cad-header-slot .sag-cad-header,
.sag-cad-header-slot .sag-list-header,
html.fixed .sag-cad-header-slot .sag-cad-header,
html.fixed .sag-cad-header-slot .sag-list-header,
html.fixed.has-top-menu:not(.has-left-sidebar-half) .sag-cad-header-slot .sag-cad-header,
html.fixed.has-top-menu:not(.has-left-sidebar-half) .sag-cad-header-slot .sag-list-header,
html.has-tab-navigation .sag-cad-header-slot .sag-cad-header,
html.has-tab-navigation .sag-cad-header-slot .sag-list-header {
    flex: 1 1 100% !important;
    position: relative !important;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    min-height: 50px !important;
    width: 100%;
    margin: 0 !important;
    padding: 0 12px !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    isolation: auto;
    z-index: 2301 !important;
    overflow: visible !important;
}

.sag-cad-header-slot .sag-cad-title-wrap,
.sag-cad-header-slot .sag-list-title-wrap {
    min-width: 0;
    flex: 0 1 auto;
}

.sag-cad-header-slot .breadcrumbs {
    display: flex;
    align-items: center;
    min-width: 0;
    margin: 0;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.sag-cad-header-slot .breadcrumbs li {
    flex: 0 1 auto;
    min-width: 0;
}

.sag-cad-header-slot .breadcrumbs li span {
    display: inline-block;
    max-width: 18rem;
    overflow: hidden;
    text-overflow: ellipsis;
    vertical-align: middle;
}

.sag-cad-header-slot .sag-cad-actions,
.sag-cad-header-slot .sag-list-actions {
    flex: 0 0 auto;
    align-self: center;
    margin-left: auto !important;
    padding-left: 16px;
    border-left: 1px solid #dbe3ec;
    gap: 8px;
}

.sag-cad-header-slot .sag-cad-header .card-actions,
.sag-cad-header-slot .sag-list-header .card-actions,
html.fixed .sag-cad-header-slot .sag-cad-header .card-actions,
html.fixed .sag-cad-header-slot .sag-list-header .card-actions {
    position: relative !important;
    top: auto !important;
    right: auto !important;
    left: auto !important;
    float: none !important;
    margin: 0 !important;
    z-index: 2302 !important;
}

.sag-cad-header-slot .sag-cad-header .card-actions .btn,
.sag-cad-header-slot .sag-cad-header .card-actions a.btn,
.sag-cad-header-slot .sag-cad-header .card-actions .dropdown-toggle,
.sag-cad-header-slot .sag-list-header .card-actions .btn,
.sag-cad-header-slot .sag-list-header .card-actions a.btn,
.sag-cad-header-slot .sag-list-header .card-actions .dropdown-toggle {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    min-height: 32px;
    padding: 6px 12px;
    border-radius: 10px;
    border: 1px solid #d5dde7;
    box-shadow: none;
    font-weight: 600;
    font-size: 12px;
}

.sag-cad-header-slot .sag-cad-header .card-actions .btn-success,
.sag-cad-header-slot .sag-list-header .card-actions .btn-success {
    border-color: #c6d4ff;
    background: linear-gradient(180deg, #f8fbff 0%, #e7f0ff 100%);
    color: #2759d8;
}

.sag-cad-header-slot .sag-cad-header .card-actions .btn-default,
.sag-cad-header-slot .sag-cad-header .card-actions .btn.btn-default,
.sag-cad-header-slot .sag-list-header .card-actions .btn-default,
.sag-cad-header-slot .sag-list-header .card-actions .btn.btn-default,
.sag-cad-header-slot .sag-list-header .card-actions .btn-secondary,
.sag-cad-header-slot .sag-list-header .card-actions .btn.btn-secondary {
    background: linear-gradient(180deg, #ffffff 0%, #f0f3f7 100%);
    color: #58697f;
}

.sag-cad-header-slot .sag-cad-header .card-actions .btn-info,
.sag-cad-header-slot .sag-cad-header .card-actions .btn-warning,
.sag-cad-header-slot .sag-cad-header .card-actions .btn-primary,
.sag-cad-header-slot .sag-cad-header .card-actions .btn-dark,
.sag-cad-header-slot .sag-list-header .card-actions .btn-info,
.sag-cad-header-slot .sag-list-header .card-actions .btn-warning,
.sag-cad-header-slot .sag-list-header .card-actions .btn-primary,
.sag-cad-header-slot .sag-list-header .card-actions .btn-dark {
    color: #314459;
}

.sag-cad-header-slot .sag-cad-header .dropdown-menu,
.sag-cad-header-slot .sag-list-header .dropdown-menu,
.sag-cad-header-slot .card-actions-overflow-menu {
    z-index: 2305 !important;
}

body.sag-cad-header-in-topbar .sag-cad-layout {
    padding-top: 0;
}

body.sag-list-header-in-topbar .sag-list-layout {
    padding-top: 0;
    padding-bottom: 0 !important;
    --sag-list-table-offset: 118px;
}

body.sag-cad-header-in-topbar .sag-cad-layout > .row {
    margin-top: 0;
}

body.sag-list-header-in-topbar .sag-list-layout > .row {
    margin-top: 0;
}

body.sag-list-header-in-topbar .sag-list-panel {
    margin-bottom: 0 !important;
}

body.sag-cad-header-in-topbar .header .notifications,
body.sag-cad-header-in-topbar .header #userbox {
    flex: 0 0 auto;
}

.header #userbox.show .dropdown-menu,
.header #userbox.open .dropdown-menu {
    left: auto !important;
    right: 0 !important;
    top: calc(100% + 4px) !important;
    min-width: 180px;
    padding: 6px !important;
    border: 1px solid #d8e0ea !important;
    border-radius: 6px !important;
    background: #fff !important;
    box-shadow: 0 10px 24px rgba(15, 23, 42, 0.12) !important;
    box-sizing: border-box !important;
    transform: none !important;
    z-index: 2200 !important;
}

.header #userbox.show .dropdown-menu .divider,
.header #userbox.open .dropdown-menu .divider {
    display: none;
}

.header #userbox.show .dropdown-menu li,
.header #userbox.open .dropdown-menu li {
    margin: 0;
}

.header #userbox.show .dropdown-menu a,
.header #userbox.open .dropdown-menu a {
    display: flex;
    align-items: center;
    gap: 8px;
    min-height: 34px;
    padding: 7px 10px;
    border-radius: 4px;
    color: #4b5f75;
    font-size: 12px;
    line-height: 1.2;
    white-space: nowrap;
}

.header #userbox.show .dropdown-menu a:hover,
.header #userbox.open .dropdown-menu a:hover {
    background: #e8f2fb;
    color: #173f66;
}

.header #userbox.show .dropdown-menu .material-symbols-outlined,
.header #userbox.open .dropdown-menu .material-symbols-outlined {
    font-size: 16px;
    margin: 0;
}

@media (max-width: 1199px) {
    .sag-cad-header-slot .breadcrumbs li span {
        max-width: 10rem;
    }

    .sag-cad-header-slot .sag-cad-header,
    .sag-cad-header-slot .sag-list-header {
        padding-right: 6px;
    }
}

@media (max-width: 991px) {
    .sag-cad-header-slot {
        order: 3;
        flex-basis: 100%;
    }

    .sag-cad-header-slot .sag-cad-header,
    .sag-cad-header-slot .sag-list-header {
        min-height: auto;
        padding: 6px 0;
    }
}

/* Densidade responsiva de formularios */
:root {
    --sag-font-base: 14px;
    --sag-control-font: 0.86rem;
    --sag-label-font: 0.72rem;
    --sag-field-height: 32px;
    --sag-field-line: 28px;
    --sag-field-pad-x: 10px;
    --sag-field-pad-y: 4px;
    --sag-grid-gutter: 3px;
    --sag-form-gap: 4px;
    --sag-section-gap: 8px;
    --sag-card-pad-x: 8px;
    --sag-card-pad-y: 6px;
    --sag-card-header-pad-y: 8px;
    --sag-card-header-pad-x: 15px;
}

@media (min-width: 1440px) and (min-height: 760px) {
    :root {
        --sag-font-base: 14.5px;
        --sag-field-height: 33px;
        --sag-field-line: 29px;
        --sag-grid-gutter: 4px;
        --sag-form-gap: 5px;
        --sag-section-gap: 9px;
    }
}

@media (min-width: 1680px) and (min-height: 900px) {
    :root {
        --sag-font-base: 15px;
        --sag-control-font: 0.88rem;
        --sag-label-font: 0.74rem;
        --sag-field-height: 34px;
        --sag-field-line: 30px;
        --sag-grid-gutter: 5px;
        --sag-form-gap: 6px;
        --sag-section-gap: 10px;
        --sag-card-pad-x: 10px;
        --sag-card-pad-y: 8px;
    }
}

@media (min-width: 1920px) and (min-height: 1000px) {
    :root {
        --sag-font-base: 15.5px;
        --sag-field-height: 35px;
        --sag-field-line: 31px;
        --sag-grid-gutter: 6px;
        --sag-form-gap: 7px;
        --sag-section-gap: 12px;
    }
}

@media (max-width: 1366px), (max-height: 720px) {
    :root {
        --sag-font-base: 13px;
        --sag-control-font: 0.82rem;
        --sag-label-font: 0.68rem;
        --sag-field-height: 28px;
        --sag-field-line: 24px;
        --sag-field-pad-x: 8px;
        --sag-field-pad-y: 2px;
        --sag-grid-gutter: 2px;
        --sag-form-gap: 2px;
        --sag-section-gap: 5px;
        --sag-card-pad-x: 6px;
        --sag-card-pad-y: 4px;
        --sag-card-header-pad-y: 5px;
        --sag-card-header-pad-x: 10px;
    }
}

html {
    font-size: var(--sag-font-base) !important;
}

.row {
    margin-right: var(--sag-grid-gutter) !important;
    margin-left: var(--sag-grid-gutter) !important;
}

.col-1, .col-2, .col-3, .col-4, .col-5, .col-6,
.col-7, .col-8, .col-9, .col-10, .col-11, .col-12,
.col, .col-auto,
.col-sm-1, .col-sm-2, .col-sm-3, .col-sm-4, .col-sm-5, .col-sm-6,
.col-sm-7, .col-sm-8, .col-sm-9, .col-sm-10, .col-sm-11, .col-sm-12,
.col-sm, .col-sm-auto,
.col-md-1, .col-md-2, .col-md-3, .col-md-4, .col-md-5, .col-md-6,
.col-md-7, .col-md-8, .col-md-9, .col-md-10, .col-md-11, .col-md-12,
.col-md, .col-md-auto,
.col-lg-1, .col-lg-2, .col-lg-3, .col-lg-4, .col-lg-5, .col-lg-6,
.col-lg-7, .col-lg-8, .col-lg-9, .col-lg-10, .col-lg-11, .col-lg-12,
.col-lg, .col-lg-auto,
.col-xl-1, .col-xl-2, .col-xl-3, .col-xl-4, .col-xl-5, .col-xl-6,
.col-xl-7, .col-xl-8, .col-xl-9, .col-xl-10, .col-xl-11, .col-xl-12,
.col-xl, .col-xl-auto {
    padding-right: var(--sag-grid-gutter) !important;
    padding-left: var(--sag-grid-gutter) !important;
}

.form-group,
.sag-cad-layout .form-group,
.sag-filter-layout .form-group,
.sag-list-filter-form .form-group,
.gt_operacao-card-body .form-group {
    margin-bottom: var(--sag-form-gap) !important;
}

form label,
.col-form-label,
.form-label,
.control-label,
.sag-cad-layout label.col-form-label,
.sag-cad-layout .form-group > label,
.sag-filter-layout label.col-form-label,
.sag-filter-layout .form-group > label,
.sag-list-filter-form .col-form-label {
    font-size: var(--sag-label-font) !important;
    line-height: 1.15 !important;
    padding-top: 1px !important;
    padding-bottom: 1px !important;
}

.form-control,
input.form-control,
select.form-control,
.form-control-sm,
.sag-cad-layout .form-control,
.sag-filter-layout .form-control,
.sag-list-filter-form .form-control,
.sag-list-filter-form .form-control-sm,
.gt_operacao-card-body .form-control,
.modal-body .form-control {
    min-height: var(--sag-field-height) !important;
    height: var(--sag-field-height) !important;
    font-size: var(--sag-control-font) !important;
    line-height: 1.2 !important;
    padding: var(--sag-field-pad-y) var(--sag-field-pad-x) !important;
}

textarea.form-control,
.sag-cad-layout textarea.form-control,
.sag-filter-layout textarea.form-control,
.modal-body textarea.form-control {
    height: auto !important;
    min-height: calc(var(--sag-field-height) * 2.1) !important;
}

.select2-container .select2-selection,
.select2-container--bootstrap .select2-selection,
.select2-container .select2-selection--single,
.select2-container--bootstrap .select2-selection--single,
.sag-cad-layout .select2-container--bootstrap .select2-selection,
.sag-cad-layout .select2-container .select2-selection--single,
.sag-filter-layout .select2-container--bootstrap .select2-selection,
.sag-filter-layout .select2-container .select2-selection--single,
.sag-list-filter-form .select2-container .select2-selection--single {
    min-height: var(--sag-field-height) !important;
    height: var(--sag-field-height) !important;
    padding-top: 0 !important;
    padding-bottom: 0 !important;
}

.select2-container .select2-selection__rendered,
.select2-container .select2-search__field,
.sag-cad-layout .select2-container .select2-selection__rendered,
.sag-filter-layout .select2-container .select2-selection__rendered,
.sag-list-filter-form .select2-container .select2-selection__rendered {
    font-size: var(--sag-control-font) !important;
    line-height: var(--sag-field-line) !important;
}

.select2-container .select2-selection--single .select2-selection__arrow,
.select2-container--bootstrap .select2-selection--single .select2-selection__arrow,
.sag-cad-layout .select2-container .select2-selection__arrow,
.sag-filter-layout .select2-container .select2-selection__arrow,
.sag-list-filter-form .select2-container .select2-selection__arrow {
    height: var(--sag-field-line) !important;
}

.select2-container .select2-selection--multiple,
.sag-cad-layout .select2-container .select2-selection--multiple,
.sag-filter-layout .select2-container .select2-selection--multiple,
.sag-list-filter-form .select2-container .select2-selection--multiple {
    min-height: var(--sag-field-height) !important;
    height: auto !important;
}

.sag-cad-layout .sag-cad-body,
.card-body,
.card-body-tms {
    padding: var(--sag-card-pad-y) var(--sag-card-pad-x) !important;
}

.gt_operacao-card {
    margin-bottom: var(--sag-section-gap) !important;
}

.gt_operacao-card-header {
    padding: var(--sag-card-header-pad-y) var(--sag-card-header-pad-x) !important;
}

.gt_operacao-card-header h6 {
    font-size: calc(var(--sag-control-font) + 0.05rem) !important;
}

/* Evita campos estreitos demais em cadastros densos */
.sag-cad-layout #cadform > .row.form-group,
.sag-cad-layout #cadform .tab-pane > .row.form-group {
    align-items: flex-start;
}

@media (max-width: 1399px) {
    .sag-cad-layout #cadform > .row.form-group > .col-lg-1,
    .sag-cad-layout #cadform .tab-pane > .row.form-group > .col-lg-1 {
        flex: 0 0 12.5% !important;
        max-width: 12.5% !important;
    }

    .sag-cad-layout #cadform > .row.form-group > .col-lg-2,
    .sag-cad-layout #cadform .tab-pane > .row.form-group > .col-lg-2 {
        flex: 0 0 20% !important;
        max-width: 20% !important;
    }
}

@media (max-width: 1199px) {
    .sag-cad-layout #cadform > .row.form-group > .col-lg-1,
    .sag-cad-layout #cadform .tab-pane > .row.form-group > .col-lg-1,
    .sag-cad-layout #cadform > .row.form-group > .col-lg-2,
    .sag-cad-layout #cadform .tab-pane > .row.form-group > .col-lg-2 {
        flex: 0 0 25% !important;
        max-width: 25% !important;
    }

    .sag-cad-layout #cadform > .row.form-group > .col-lg-3,
    .sag-cad-layout #cadform .tab-pane > .row.form-group > .col-lg-3 {
        flex: 0 0 33.333333% !important;
        max-width: 33.333333% !important;
    }
}

@media (max-width: 767px) {
    .sag-cad-layout #cadform > .row.form-group > [class*="col-"],
    .sag-cad-layout #cadform .tab-pane > .row.form-group > [class*="col-"] {
        flex: 0 0 100% !important;
        max-width: 100% !important;
    }
}

/* Cadastro de motorista: grade com largura minima por campo */
.dm-motorista-form > .row.form-group {
    display: grid !important;
    grid-template-columns: repeat(auto-fit, minmax(145px, 1fr));
    gap: var(--sag-form-gap) calc(var(--sag-grid-gutter) * 2);
    margin-right: 0 !important;
    margin-left: 0 !important;
}

.dm-motorista-form > .row.form-group > [class*="col-"] {
    width: auto !important;
    max-width: none !important;
    flex: none !important;
    padding-right: 0 !important;
    padding-left: 0 !important;
    grid-column: span 1;
}

.dm-motorista-form > .row.form-group > .col-lg-3,
.dm-motorista-form > .row.form-group > [class*="col-"]:has(#nome),
.dm-motorista-form > .row.form-group > [class*="col-"]:has(#endereco),
.dm-motorista-form > .row.form-group > [class*="col-"]:has(#nomepai),
.dm-motorista-form > .row.form-group > [class*="col-"]:has(#nomemae) {
    grid-column: span 2;
}

.dm-motorista-form > .row.form-group > [class*="col-"] .form-group {
    min-width: 0;
}

.dm-motorista-form .col-form-label {
    display: block;
    min-height: 2.25em;
    white-space: normal;
    overflow-wrap: anywhere;
}

.dm-motorista-form .custom-control,
.dm-motorista-form .form-text {
    font-size: calc(var(--sag-control-font) - 0.08rem);
    line-height: 1.15;
}

@media (max-width: 1100px) {
    .dm-motorista-form > .row.form-group {
        grid-template-columns: repeat(auto-fit, minmax(155px, 1fr));
    }

    .dm-motorista-form > .row.form-group > .col-lg-3,
    .dm-motorista-form > .row.form-group > [class*="col-"]:has(#nome),
    .dm-motorista-form > .row.form-group > [class*="col-"]:has(#endereco),
    .dm-motorista-form > .row.form-group > [class*="col-"]:has(#nomepai),
    .dm-motorista-form > .row.form-group > [class*="col-"]:has(#nomemae) {
        grid-column: span 2;
    }
}

@media (max-width: 640px) {
    .dm-motorista-form > .row.form-group {
        grid-template-columns: 1fr;
    }

    .dm-motorista-form > .row.form-group > [class*="col-"],
    .dm-motorista-form > .row.form-group > .col-lg-3 {
        grid-column: span 1 !important;
    }
}

/* Participante: status no topo (mesmo conceito do gt_operacao) */
.participante-top-status {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 0 8px;
}

.participante-top-status .text-muted {
    font-size: 12px;
}

.participante-status-badge {
    display: inline-block;
    padding: 3px 10px;
    border-radius: 999px;
    color: #fff;
    font-size: 12px;
    font-weight: 700;
}

.participante-status-badge.status-ativo { background: #16a34a; }
.participante-status-badge.status-inativo { background: #ea580c; }
.participante-status-badge.status-excluido { background: #dc2626; }

/* =====================================================================
   .card-body-crm — substituto enxuto de .card-body para o modulo CRM.
   Evita o padding-top extra do tema Porto que cria espacamento estranho
   entre o cabecalho do card e o conteudo. Usar em qualquer card CRM no
   lugar de .card-body. Mantem fundo branco e padding previsivel.
   ===================================================================== */
.card-body-crm {
    background: #fff !important;
    padding: 12px 14px !important;
    margin: 0 !important;
    min-height: 0 !important;
    height: auto !important;
    max-height: none !important;
    overflow: visible !important;
    border: 0 !important;
    border-radius: inherit !important;
    box-sizing: border-box !important;
}

/* Primeiro filho de um card-body-crm sem margin extra no topo */
.card-body-crm > *:first-child { margin-top: 0 !important; }
.card-body-crm > *:last-child { margin-bottom: 0 !important; }

/* Cabecalho interno do painel CRM (titulo + acoes na mesma linha) */
.card-body-crm > .crm-panel-header,
.card-body-crm > .d-flex.justify-content-between:first-child {
    margin-bottom: 12px !important;
    padding-bottom: 10px !important;
    border-bottom: 1px solid #e9eef5;
}

.card-body-crm > .crm-panel-header h5,
.card-body-crm > .crm-panel-header h4,
.card-body-crm > .d-flex.justify-content-between:first-child h5 {
    margin: 0 !important;
    font-size: 14px !important;
    color: #2c3e50;
    font-weight: 600;
}

/* Tabelas dentro de card-body-crm: zera margens e respeita altura natural */
.card-body-crm > .table-responsive {
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    overflow-x: auto !important;
    overflow-y: visible !important;
    margin: 0 !important;
}

.card-body-crm > .table-responsive > table { margin: 0 !important; }

/* Section card que usa card-body-crm — garantir margin-bottom previsivel */
section.card:has(> .card-body-crm),
.card:has(> .card-body-crm) {
    border: 1px solid #e3e8f0;
    border-radius: 8px;
    background: #fff;
    box-shadow: 0 1px 3px rgba(15, 23, 42, 0.04);
    overflow: hidden;
}

/* Separador horizontal entre subsecoes dentro de um mesmo card-body-crm */
.card-body-crm > .crm-divider {
    border: 0;
    border-top: 1px solid #e9eef5;
    margin: 14px 0 12px;
}

/* ============================================================
   Mobile hardening (<= 767px)
   Corrige overflow lateral e quebra de botoes em cabecalhos/tabelas
   ============================================================ */
@media (max-width: 767px) {
    html,
    body,
    .body,
    .inner-wrapper,
    .content-body {
        width: 100% !important;
        max-width: 100% !important;
        overflow-x: hidden !important;
    }

    html.fixed .content-body,
    html.fixed:not(.boxed) .content-body,
    html.fixed.sidebar-left-collapsed:not(.boxed) .content-body,
    html.fixed.sidebar-left-collapsed.sidebar-left-opened:not(.boxed) .content-body {
        margin-left: 0 !important;
        width: 100% !important;
    }

    .row {
        margin-left: 0 !important;
        margin-right: 0 !important;
    }

    .col-1, .col-2, .col-3, .col-4, .col-5, .col-6,
    .col-7, .col-8, .col-9, .col-10, .col-11, .col-12,
    .col, .col-auto,
    .col-sm-1, .col-sm-2, .col-sm-3, .col-sm-4, .col-sm-5, .col-sm-6,
    .col-sm-7, .col-sm-8, .col-sm-9, .col-sm-10, .col-sm-11, .col-sm-12,
    .col-sm, .col-sm-auto,
    .col-md-1, .col-md-2, .col-md-3, .col-md-4, .col-md-5, .col-md-6,
    .col-md-7, .col-md-8, .col-md-9, .col-md-10, .col-md-11, .col-md-12,
    .col-md, .col-md-auto,
    .col-lg-1, .col-lg-2, .col-lg-3, .col-lg-4, .col-lg-5, .col-lg-6,
    .col-lg-7, .col-lg-8, .col-lg-9, .col-lg-10, .col-lg-11, .col-lg-12,
    .col-lg, .col-lg-auto,
    .col-xl-1, .col-xl-2, .col-xl-3, .col-xl-4, .col-xl-5, .col-xl-6,
    .col-xl-7, .col-xl-8, .col-xl-9, .col-xl-10, .col-xl-11, .col-xl-12,
    .col-xl, .col-xl-auto {
        padding-left: 2px !important;
        padding-right: 2px !important;
    }

    .table-responsive {
        width: 100% !important;
        max-width: 100% !important;
        overflow-x: auto !important;
        -webkit-overflow-scrolling: touch;
        min-height: 0 !important;
        height: auto !important;
    }

    .table {
        margin-bottom: 0 !important;
    }

    /* Header de acoes do cadastro/lista no topo */
    .sag-cad-header-slot .sag-cad-header,
    .sag-cad-header-slot .sag-list-header {
        flex-wrap: wrap !important;
        gap: 8px !important;
        padding: 6px !important;
    }

    .sag-cad-header-slot .sag-cad-actions,
    .sag-cad-header-slot .sag-list-actions {
        flex: 1 1 100% !important;
        width: 100% !important;
        margin-left: 0 !important;
        padding-left: 0 !important;
        border-left: 0 !important;
        display: flex !important;
        flex-wrap: nowrap !important;
        gap: 6px !important;
        justify-content: flex-start !important;
        overflow: hidden !important;
    }

    .sag-cad-header-slot .sag-cad-header .card-actions .btn,
    .sag-cad-header-slot .sag-cad-header .card-actions a.btn,
    .sag-cad-header-slot .sag-cad-header .card-actions .dropdown-toggle,
    .sag-cad-header-slot .sag-list-header .card-actions .btn,
    .sag-cad-header-slot .sag-list-header .card-actions a.btn,
    .sag-cad-header-slot .sag-list-header .card-actions .dropdown-toggle {
        flex: 0 0 auto !important;
        max-width: 100% !important;
        white-space: nowrap !important;
        min-height: 34px !important;
    }

    .card-actions-overflow-toggle .btn {
        min-width: 34px !important;
        width: auto !important;
        padding: 0 10px !important;
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
        gap: 4px !important;
        border-radius: 8px !important;
        border-color: #9bc5eb !important;
        background: #eaf4fe !important;
        color: #1b77c5 !important;
    }

    .card-actions-overflow-toggle .btn .material-icons,
    .card-actions-overflow-toggle .btn .material-symbols-outlined {
        font-size: 18px !important;
        line-height: 1 !important;
    }

    /* Tabs sem estourar lateral */
    .sag-cad-tabs,
    .sag-cad-default-tabs,
    .sag-cad-layout .nav-tabs.nav-tabs-bordered {
        overflow-x: auto !important;
        overflow-y: hidden !important;
        flex-wrap: nowrap !important;
        -webkit-overflow-scrolling: touch;
        white-space: nowrap;
    }
}
