#tabelaListaMovimentacaoEstoque .ui-grid-header-cell .ui-grid-cell-contents {
    white-space: normal !important;
    height: 40px !important;
}
#tabelaAnaliseEstatisticaIndicador .ui-grid-header-cell .ui-grid-cell-contents,
#tabelaAnaliseEstatisticaRegiao .ui-grid-header-cell .ui-grid-cell-contents,
#tabelaAnaliseEstatisticaTalhao .ui-grid-header-cell .ui-grid-cell-contents,
#tabelaAnaliseEstatisticaResumoIndicador .ui-grid-header-cell .ui-grid-cell-contents,
#tabelaAnaliseEstatisticaResumoRegiao .ui-grid-header-cell .ui-grid-cell-contents,
#tabelaAnaliseEstatisticaResumoTalhao .ui-grid-header-cell .ui-grid-cell-contents {
    white-space: normal !important;
}
a.btn {
    font-family: Roboto,Helvetica Neue,sans-serif;
}

#projecaoAnaliseInvestigacaoNc > .card-header {
    padding: .8rem !important;
    padding-top: .6rem !important;
}

#projecaoAnaliseInvestigacaoNc > .card-content > .card-body {
    min-height: 350px !important;
    margin: 0 !important;
    padding-left: 0.5rem !important;
    padding-right: 0.5rem !important;
    padding-bottom: 0.5rem !important;
}

#modalAnaliseInvestigacaoNc {
    display: none;
    opacity: 0;
    background: rgba(0,0,0,.5);
    overflow-y: auto;
}

#modalAnaliseInvestigacaoNc .page-link {
    display: inline-block !important;
    padding: 3px 4px 3px 4px !important;
    margin: 0 !important;
    background: rgba(240,242,242,.3) !important;
}

#modalAnaliseInvestigacaoNc .page-link:hover {
    color: #175EE4;
    background: rgb(240,242,242) !important;
    border-color: rgb(240,242,242) !important;
}

.kanban-container .kanban-board .kanban-drag {
    padding: 8px !important;
    padding-left: 7px !important;
}

.kanban-container .kanban-board .kanban-item {
    margin-bottom: 0.8rem !important;
}


/* Widgets Advance */
/*-----------------*/
.widget-todo .dropdown .dropdown-toggle:after {
    left: 0.1rem;
    color: #828D99;
}

.widget-todo .widget-todo-list-wrapper {
    padding-left: 0;
    margin-bottom: 0;
    list-style-type: none;
}

.widget-todo .widget-todo-list-wrapper .widget-todo-item {
    padding: 0.5rem 1.5rem 0.1rem 0.5rem;
}

.widget-todo .widget-todo-list-wrapper .widget-todo-item .widget-todo-title-area i {
    visibility: hidden;
    color: #828D99;
}

.widget-todo .widget-todo-list-wrapper .widget-todo-item:hover {
    background-color: #f2f4f4;
}

.widget-todo .widget-todo-list-wrapper .widget-todo-item:hover .widget-todo-title-area i {
    visibility: visible;
}

.widget-todo .widget-todo-list-wrapper .widget-todo-item.completed .widget-todo-title {
    text-decoration: line-through;
}

.widget-overlay .widget-overlay-card .overlay-primary {
    /* Widget Card Overlay */
    background: rgba(90, 141, 238, 0.9);
    border-bottom-left-radius: 0;
    border-bottom-right-radius: 0;
}

.widget-overlay .widget-overlay-card .dropdown a {
    color: inherit;
}

.widget-overlay .widget-overlay-card .dropdown a:active {
    color: #FFFFFF !important;
}

.widget-overlay .widget-overlay-card .widget-overlay-card-title {
    /* widget-overlay-card-title */
    position: absolute;
    top: 50%;
    left: 50%;
    margin-left: -85px;
    margin-top: -27px;
    color: #FFFFFF;
}

.widget-overlay .widget-overlay-content .inclusive-btn {
    margin-top: -24px;
}

.widget-overlay .widget-overlay-content .table-responsive {
    position: relative;
}

.widget-followers .widget-followers-heading-right i {
    position: relative;
    top: 4px;
}

.widget-img-top .card-footer {
    background-color: #F2F4F4;
}

.widget-order-activity .badge-circle i {
    position: relative;
    top: 4px;
}

.widget-order-activity .widget-order-activity-footer h1,
.widget-order-activity .widget-order-activity-footer h2,
.widget-order-activity .widget-order-activity-footer h3,
.widget-order-activity .widget-order-activity-footer h4,
.widget-order-activity .widget-order-activity-footer h5,
.widget-order-activity .widget-order-activity-footer h6 {
    color: #475F7B;
}

.widget-notification .list-group-item .readable-mark-icon {
    cursor: pointer;
}

.widget-notification .list-group-item:last-child {
    border-bottom-right-radius: 0.267rem;
    border-bottom-left-radius: 0.267rem;
}

.widget-notification .list-group-item.list-group-item-action:active {
    color: inherit;
    background-color: inherit;
}

.widget-user-details .table-responsive {
    position: relative;
}

/* Widgets Charts Starts */
/*-----------------------*/
.widget-state-multi-radial .nav.nav-tabs {
    border: 0 !important;
}

.widget-state-multi-radial .nav-item.current:after, .widget-state-multi-radial .nav-item.current:before,
.widget-state-multi-radial .nav-item .nav-link:after,
.widget-state-multi-radial .nav-item .nav-link:before {
    border: 0 !important;
}

#donut-chart-spending .apexcharts-canvas,
#donut-chart-statistics .apexcharts-canvas {
    margin: 0 auto;
}

.widget-timeline {
    /* widget timeline */
    position: relative;
    height: 415px;
    padding-right: 1rem;
}

.widget-earnings-scroll {
    position: relative;
}

.widget-earnings-scroll .widget-earnings-width {
    min-width: 390px;
}

#widget-earnings .widget-earnings-swiper.swiper-container .swiper-slide {
    /* widget Earnings swiper */
    font-weight: 500;
    background-color: #f2f4f4;
    height: auto;
    width: auto !important;
    color: #828D99;
    cursor: pointer;
}

#widget-earnings .widget-earnings-swiper.swiper-container .swiper-slide.swiper-slide-active {
    /* widget Earnings swiper slide active */
    color: #FFFFFF;
    background-color: #5A8DEE !important;
    box-shadow: 0 3px 6px 0 rgba(90, 141, 238, 0.5) !important;
}

#widget-earnings .wrapper-content {
    display: none;
}

#widget-earnings .wrapper-content.active {
    display: block;
}

@media screen and (max-width: 600px) {
    .widget-todo-list-wrapper .widget-todo-title-wrapper {
        flex-direction: column;
    }
    .widget-todo-list-wrapper .widget-todo-title-wrapper .widget-todo-title-area {
        margin-right: auto;
    }
    .widget-todo-list-wrapper .widget-todo-title-wrapper .widget-todo-item-action {
        margin-left: auto;
    }
}

@media screen and (max-width: 1200px) {
    .widget-radial-charts .widget-card-details {
        padding-bottom: 0 !important;
    }
}

@media screen and (min-width: 1200px) and (max-width: 1400px) {
    .widget-img-top .content-post {
        display: none !important;
    }
    .widget-state-multi-radial .card-header {
        display: block !important;
    }
}

@media screen and (max-width: 1300px) and (min-width: 900px) {
    .progress-card,
    .overlay-image-card {
        flex: 0 0 50%;
        max-width: 50%;
    }
    .whether-card {
        flex: 0 0 100%;
        max-width: 100%;
    }
    .user-details-card {
        flex: 0 0 100%;
        max-width: 100%;
    }
    .img-top-card,
    .timline-card,
    .widget-chat-card,
    .earnings-card,
    .user-profile-card,
    .whether {
        flex: 0 0 50%;
        max-width: 50%;
    }
}

@media screen and (-ms-high-contrast: active), (-ms-high-contrast: none) {
    /* IE Specific CSS for charts - radial-primary/success/danger */
    .widget-radial-charts .widget-card-details {
        display: block !important;
    }
}

#tabelaListaApontamentos.lista-detalhada .ui-grid-header-cell .ui-grid-cell-contents,
#tabelaListaApontamentosCartao.lista-detalhada .ui-grid-header-cell .ui-grid-cell-contents {
    white-space: normal !important;
    height: 68px !important;
}

.card-apontamentoTemporario {
    display: block !important;
    padding: .5rem !important;
    margin: .5rem 0 !important;
    background: rgba(220,232,238,1);
    background: linear-gradient(126deg, rgb(224,234,240) 0%, rgb(236,246,248) 100%);
    box-shadow: 0 5px 20px rgba(220,232,238,.3);
    border-radius: 4px !important;
}
.card-apontamentoTemporario-tituloItem {
    display: block !important;
    white-space: nowrap !important;
    overflow: hidden !important;
}
.card-apontamentoTemporario-valorItem {
    white-space: nowrap !important;
    font-weight: 700 !important;
    overflow: hidden !important;
}

#modalClienteCampoIndicador:not(.cadFormularioIndicadores),
#modalProdutoCampoIndicador:not(.cadFormularioIndicadores),
#modalAnaliseInvestigacaoNC:not(.cadFormularioIndicadores),
#modalHistoricoApontamento:not(.cadFormularioIndicadores),
#modalResumoEstoqueAtualSementes:not(.cadFormularioIndicadores),
#modalResumoEstoqueAtualMudas:not(.cadFormularioIndicadores),
#modalResumoEstoqueAtualBandejas:not(.cadFormularioIndicadores),
#modalResumoEstoqueAtualLotes:not(.cadFormularioIndicadores),
#modalTermoAceiteMudas:not(.cadFormularioIndicadores),
#modalCertificadoOrigemSementes:not(.cadFormularioIndicadores),
#modalCertificadoMudasExpedidas:not(.cadFormularioIndicadores),
#modalOtimizacaoViagem:not(.cadFormularioIndicadores) {
    display: block !important;
    background: rgba(0,0,0,.7) !important;
    overflow-y: visible !important;
    position: fixed !important;
    left: 0px !important;
    right: 0px !important;
    top: 0px !important;
}

#modalHistoricoApontamento .page-link {
    display: inline-block !important;
    padding: 3px 4px 3px 4px !important;
    margin: 0 !important;
    background: rgba(240,242,242,.3) !important;
}

#modalHistoricoApontamento .page-link:hover {
    color: #175EE4;
    background: rgb(240,242,242) !important;
    border-color: rgb(240,242,242) !important;
}

/* Apontamentos ainda não sincronizados (offline) na listagem */
.ui-grid-cell.celula-apontamento-nao-sincronizado,
.ui-grid-cell.celula-apontamento-nao-sincronizado .ui-grid-cell-contents {
    color: #EA5455 !important;
    font-weight: 500;
}

html body.navbar-sticky .app-content .content-wrapper:has(.painel-lista-chegada-veiculo) {
    margin-left: 0 !important;
    margin-right: 0 !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
}

div.painel-lista-chegada-veiculo {
    margin: 0 !important;
    padding: 0 !important;
}

div#legendaAtualizacaoAutomaticaTabela {
    font-size: .9rem !important;
    padding: 1.3rem 0 0 1rem !important;
    opacity: .9;
    vertical-align: top !important;
}

div#legendaAtualizacaoAutomaticaTabela.atualizacao-pausada {
    font-weight: bold !important;
    color: #2d5b8f !important;
}

#modalImpressaoCheckList,
#modalReprovacaoCheckList {
    display: block !important;
    background: rgba(0,0,0,.7) !important;
    overflow-y: visible !important;
    position: fixed !important;
    left: 0px !important;
    right: 0px !important;
    top: 0px !important;
}
#tabelaListaMovimentacaoEstoque .ui-grid-header-cell .ui-grid-cell-contents {
    white-space: normal !important;
    height: 40px !important;
}
#tabelaListaMovimentacaoEstoque .ui-grid-header-cell .ui-grid-cell-contents {
    white-space: normal !important;
    height: 40px !important;
}

#tabelaListaEstoqueMudas .ui-grid-header-cell .ui-grid-cell-contents,
#tabelaListaEstoqueMudasPorJardim .ui-grid-header-cell .ui-grid-cell-contents,
#tabelaListaEstoqueMudasPorCasaVegetacao .ui-grid-header-cell .ui-grid-cell-contents,
#tabelaListaEstoqueMudasPorCasaSombra .ui-grid-header-cell .ui-grid-cell-contents,
#tabelaListaEstoqueMudasPorPatioRustificacao .ui-grid-header-cell .ui-grid-cell-contents,
#tabelaListaEstoqueMudasPorPatioAclimatacao .ui-grid-header-cell .ui-grid-cell-contents,
#tabelaListaEstoqueMudasPorPatioExpedicao .ui-grid-header-cell .ui-grid-cell-contents {
    white-space: normal !important;
    height: 40px !important;
}
#tabelaListaEstoqueMudas .ui-grid-header-cell .ui-grid-cell-contents,
#tabelaListaEstoqueMudasPorJardim .ui-grid-header-cell .ui-grid-cell-contents,
#tabelaListaEstoqueMudasPorCasaVegetacao .ui-grid-header-cell .ui-grid-cell-contents,
#tabelaListaEstoqueMudasPorCasaSombra .ui-grid-header-cell .ui-grid-cell-contents,
#tabelaListaEstoqueMudasPorPatioRustificacao .ui-grid-header-cell .ui-grid-cell-contents,
#tabelaListaEstoqueMudasPorPatioAclimatacao .ui-grid-header-cell .ui-grid-cell-contents,
#tabelaListaEstoqueMudasPorPatioExpedicao .ui-grid-header-cell .ui-grid-cell-contents {
    white-space: normal !important;
    height: 40px !important;
}
#tabelaListaEstoqueSemeadura .ui-grid-header-cell .ui-grid-cell-contents {
    white-space: normal !important;
    height: 40px !important;
}
#tabelaListaEstoqueSemente .ui-grid-header-cell .ui-grid-cell-contents {
    white-space: normal !important;
    height: 40px !important;
}
#tabelaListaEstoqueSubstrato .ui-grid-header-cell .ui-grid-cell-contents {
    white-space: normal !important;
    height: 40px !important;
}
#tabelaListaMovimentacaoEstoque .ui-grid-header-cell .ui-grid-cell-contents {
    white-space: normal !important;
    height: 40px !important;
}
#projecaoGestaoCardsCheckListLogistica {
    margin: 0 !important;
    padding: 0px !important;
    border: 0px !important;
    box-shadow: none !important;
    background: transparent !important;
}

#projecaoGestaoCardsCheckListLogistica > .card-header {
    padding: .5rem 0 .8rem 0 !important;
}

#projecaoGestaoCardsCheckListLogistica > .card-content > .card-body {
    min-height: 350px !important;
    margin: 0px !important;
    padding-left: 0.5rem !important;
    padding-right: 0.5rem !important;
    padding-bottom: 0px !important;
}

#gestaoCardsCheckListLogisticaContainer {
    display: block !important;
    width: 100% !important;
    margin: 0px !important;
    padding: 10px !important;
    background: #d0d0ce !important;
}

#gestaoCardsCheckListLogisticaContainer .cartao-cabecalho {
    display: block !important;
    position: relative !important;
    width: 100% !important;
    padding: 5px 6px !important;
    background-color: #6b78aa !important;
    color: #fff !important;
}

#gestaoCardsCheckListLogisticaContainer .cartao-ciclo {
    position: relative;
    padding: 5px;
    background-color: #004b87;
    cursor: pointer;
}

#gestaoCardsCheckListLogisticaContainer .cartao-localidade {
    margin-right: 5px;
    margin-top: 5px;
    font-size: 12px;
    text-transform: capitalize;
    background-color: #ff8200;
    min-height: 50px !important;
    max-height: 60px !important;
    height: auto !important;
    color: #fff !important;
    text-shadow: #616262 1px 1px 2px !important;
    border-radius: 4px !important;
}

#gestaoCardsCheckListLogisticaContainer .cartao-localidade:hover {
    background-color: #ee9e4c;
}

#gestaoCardsCheckListLogisticaContainer .cartao-subgrupo-localidade {
    background-color: #21D103;
}

#gestaoCardsCheckListLogisticaContainer .cartao-subgrupo-localidade:hover {
    background-color: #4AD456;
}

#gestaoCardsCheckListLogisticaContainer .cartao-localidade-grupo {
    background-color: #f9cb06;
}

#gestaoCardsCheckListLogisticaContainer .cartao-localidade-grupo:hover {
    background-color: #fcda48;
}

#tabelaGestaoCardsCheckListLogistica .table.zero-configuration {
    background: #fff !important;
}

#gestaoCardsCheckListLogisticaContainer .cartao-localidade-selecionado {
    box-shadow: 0 0 0 2px #007bff, 0 3px 6px rgba(0, 0, 0, 0.1);
}

#modalGestaoCardsCheckListLogistica {
    display: none;
    opacity: 0;
    background: rgba(0,0,0,.5);
    overflow-y: auto;
}

#modalGestaoCardsCheckListLogistica .page-link {
    display: inline-block !important;
    padding: 3px 4px 3px 4px !important;
    margin: 0 !important;
    background: rgba(240,242,242,.3) !important;
}

#modalGestaoCardsCheckListLogistica .page-link:hover {
    color: #175EE4;
    background: rgb(240,242,242) !important;
    border-color: rgb(240,242,242) !important;
}

.kanban-container .kanban-board .kanban-drag {
    padding: 8px !important;
    padding-left: 7px !important;
}

.kanban-container .kanban-board .kanban-item {
    margin-bottom: 0.8rem !important;
}

#modalRelatorioSolicitacaoAlimentacao {
    display: none;
    opacity: 0;
    background: rgba(0,0,0,.5);
    overflow-y: auto;
}
#tabelaListaMovimentacaoEstoque .ui-grid-header-cell .ui-grid-cell-contents {
    white-space: normal !important;
    height: 40px !important;
}

#tabelaListaMovimentacaoEstoque .ui-grid-header-cell .ui-grid-cell-contents {
    white-space: normal !important;
    height: 40px !important;
}
#projecaoGestaoCheckListLogistica {
    margin: 0px !important;
    padding: 0px !important;
    border: 0px !important;
    box-shadow: none !important;
    background: transparent !important;
}

#projecaoGestaoCheckListLogistica > .card-header {
    padding: .6rem .8rem 0px .8rem !important;
}

#projecaoGestaoCheckListLogistica > .card-content > .card-body {
    min-height: 350px !important;
    margin: 0px !important;
    padding-left: 0.5rem !important;
    padding-right: 0.5rem !important;
    padding-bottom: 0px !important;
}

#modalGestaoCheckListLogistica {
    display: none;
    opacity: 0;
    background: rgba(0,0,0,.5);
    overflow-y: auto;
}

#modalGestaoCheckListLogistica .page-link {
    display: inline-block !important;
    padding: 3px 4px 3px 4px !important;
    margin: 0 !important;
    background: rgba(240,242,242,.3) !important;
}

#modalGestaoCheckListLogistica .page-link:hover {
    color: #175EE4;
    background: rgb(240,242,242) !important;
    border-color: rgb(240,242,242) !important;
}

.kanban-container .kanban-board .kanban-drag {
    padding: 8px !important;
    padding-left: 7px !important;
}

.kanban-container .kanban-board .kanban-item {
    margin-bottom: 0.8rem !important;
}

/* Animação de destaque para cards novos (surgidos após atualização automática) */
@keyframes kanbanItemNovoPulse {
    0%, 100% {
        box-shadow: 0 2px 5px rgba(0, 0, 0, 0.08), 0 0 0 3px rgba(255, 193, 7, 0.90);
    }
    50% {
        box-shadow: 0 2px 5px rgba(0, 0, 0, 0.08), 0 0 0 7px rgba(255, 193, 7, 0.10);
    }
}

.kanban-container .kanban-board .kanban-item.kanban-item-novo {
    animation: kanbanItemNovoPulse 1.4s ease-in-out infinite !important;
    position: relative;
    z-index: 1;
}

/* ------------------------------------------------------------------------- */
/* Agrupamento de viagens por arraste (soltar um card sobre outro card)       */
/* ------------------------------------------------------------------------- */

/* O espelho do arraste (dragula) não pode capturar o ponteiro, caso contrário
   o card que está sob o cursor não é identificado por document.elementFromPoint() */
body.kanban-agrupando-viagens .gu-mirror {
    pointer-events: none !important;
}

/* Durante o agrupamento o espaço reservado pelo dragula (posição de destino do card) é ocultado,
   caso contrário o card sob o ponteiro é deslocado a cada movimento e fica difícil acertá-lo */
body.kanban-agrupando-viagens .kanban-container .kanban-board .kanban-item.gu-transit {
    display: none !important;
}

/* Cards aptos a receber o agrupamento enquanto um card está sendo arrastado */
.kanban-container .kanban-board .kanban-item.kanban-item-agrupar-disponivel {
    outline: 2px dashed rgba(23, 94, 228, 0.45) !important;
    outline-offset: -2px !important;
    transition: outline-color .15s ease-in-out, box-shadow .15s ease-in-out, transform .15s ease-in-out !important;
}

/* Card de origem (o que está sendo arrastado) */
.kanban-container .kanban-board .kanban-item.kanban-item-agrupar-origem {
    opacity: .55 !important;
}

/* Card sob o ponteiro e apto a receber o agrupamento */
.kanban-container .kanban-board .kanban-item.kanban-item-agrupar-alvo {
    position: relative;
    z-index: 2;
    outline: 3px solid #175EE4 !important;
    outline-offset: -3px !important;
    box-shadow: 0 0 0 6px rgba(23, 94, 228, 0.18), 0 6px 16px rgba(0, 0, 0, 0.18) !important;
    transform: scale(1.02) !important;
    cursor: copy !important;
}

.kanban-container .kanban-board .kanban-item.kanban-item-agrupar-alvo::after {
    content: "\2192  Agrupar viagem aqui";
    font-weight: 700;
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    padding: 3px 6px;
    font-size: .72rem;
    line-height: 1.2;
    text-align: center;
    color: #fff;
    background: #175EE4;
    letter-spacing: .2px;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    pointer-events: none;
}

/* Card sob o ponteiro, porém sem condições de receber o agrupamento */
.kanban-container .kanban-board .kanban-item.kanban-item-agrupar-alvo-invalido {
    position: relative;
    z-index: 2;
    outline: 3px solid #EA5455 !important;
    outline-offset: -3px !important;
    box-shadow: 0 0 0 6px rgba(234, 84, 85, 0.18) !important;
    cursor: not-allowed !important;
}

.kanban-container .kanban-board .kanban-item.kanban-item-agrupar-alvo-invalido::after {
    content: "\2715  " attr(data-motivoagrupamento);
    font-weight: 700;
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    padding: 3px 6px;
    font-size: .68rem;
    line-height: 1.15;
    text-align: center;
    color: #fff;
    background: #EA5455;
    letter-spacing: .2px;
    white-space: normal;
    overflow: hidden;
    max-height: 2.4em;
    pointer-events: none;
}

/* Destaque temporário do campo "Vincular Viagem" preenchido pelo agrupamento por arraste */
@keyframes campoVinculoViagemAgrupadoPulse {
    0%, 100% { box-shadow: 0 0 0 0 rgba(40, 199, 111, 0); }
    50% { box-shadow: 0 0 0 5px rgba(40, 199, 111, .35); }
}

#modalGestaoCheckListLogistica .form-group.campo-vinculo-viagem-agrupado {
    border-radius: .35rem;
    animation: campoVinculoViagemAgrupadoPulse 1.2s ease-in-out 2;
}

/* Dica de uso exibida no cabeçalho do painel */
#projecaoGestaoCheckListLogistica .dica-agrupamento-viagens {
    font-size: .8rem !important;
    font-style: italic;
}

/* ------------------------------------------------------------------------- */
/* Guia "Solicitação de Taxi": situação e agrupamento das solicitações        */
/* ------------------------------------------------------------------------- */

/* Faixa de situação exibida no topo do card (nova solicitação / viagem agrupada) */
.kanban-container .kanban-board .kanban-item .kanban-item-taxi-etiqueta {
    display: block;
    margin: -2px -2px 6px -2px;
    padding: 2px 6px;
    border-radius: .25rem;
    font-size: .72rem;
    font-weight: 700;
    line-height: 1.3;
    letter-spacing: .2px;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.kanban-container .kanban-board .kanban-item .kanban-item-taxi-etiqueta-nova {
    color: #8A5B00;
    background: rgba(255, 193, 7, 0.22);
}

.kanban-container .kanban-board .kanban-item .kanban-item-taxi-etiqueta-agrupada {
    color: #10439E;
    background: rgba(23, 94, 228, 0.14);
}

/* Bloco de cada solicitação que compõe o card único do agrupamento */
.kanban-container .kanban-board .kanban-item .kanban-item-taxi-membro {
    margin: 4px 0;
    padding: 4px 6px;
    border-left: 3px solid rgba(23, 94, 228, 0.35);
    border-radius: .2rem;
    background: rgba(23, 94, 228, 0.05);
}

.kanban-container .kanban-board .kanban-item .kanban-item-taxi-membro-principal {
    border-left-color: #175EE4;
    background: rgba(23, 94, 228, 0.10);
}

.kanban-container .kanban-board .kanban-item .kanban-item-taxi-membro-pendente {
    display: inline-block;
    padding: 0 5px;
    border-radius: .8rem;
    font-size: .66rem;
    font-weight: 700;
    color: #8A5B00;
    background: rgba(255, 193, 7, 0.30);
}

/* Lista de solicitações agrupadas exibida dentro do modal do apontamento */
#modalGestaoCheckListLogistica .lista-solicitacoes-taxi-agrupadas {
    margin: 0;
    padding: 0;
    list-style: none;
    max-height: 220px;
    overflow-y: auto;
    border: 1px solid rgba(0, 0, 0, .10);
    border-radius: .35rem;
}

#modalGestaoCheckListLogistica .lista-solicitacoes-taxi-agrupadas > li {
    display: flex;
    align-items: center;
    padding: 6px 10px;
    border-bottom: 1px solid rgba(0, 0, 0, .06);
}

#modalGestaoCheckListLogistica .lista-solicitacoes-taxi-agrupadas > li:last-child {
    border-bottom: 0;
}

#modalGestaoCheckListLogistica .lista-solicitacoes-taxi-agrupadas > li.solicitacao-taxi-agrupada-aberta {
    background: rgba(23, 94, 228, 0.07);
}

#modalGestaoCheckListLogistica .solicitacao-taxi-agrupada-dados {
    flex: 1 1 auto;
    min-width: 0;
}

#modalGestaoCheckListLogistica .solicitacao-taxi-agrupada-titulo {
    font-size: .85rem;
    font-weight: 600;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

#modalGestaoCheckListLogistica .solicitacao-taxi-agrupada-detalhe {
    font-size: .78rem;
    color: #6E6B7B;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

#modalGestaoCheckListLogistica .solicitacao-taxi-agrupada-acao {
    flex: 0 0 auto;
    /* margem no lugar de "gap": o flex gap só existe a partir do Chromium 84 e a WebView
       do Android pode ser mais antiga em aparelhos sem atualização */
    margin-left: 8px;
}

#modalGestaoCheckListLogistica .etiqueta-solicitacao-taxi {
    display: inline-block;
    margin-left: 4px;
    padding: 1px 7px;
    border-radius: .8rem;
    font-size: .68rem;
    font-weight: 700;
    vertical-align: middle;
}

#modalGestaoCheckListLogistica .etiqueta-solicitacao-taxi-info {
    color: #10439E;
    background: rgba(23, 94, 228, 0.14);
}

#modalGestaoCheckListLogistica .etiqueta-solicitacao-taxi-principal {
    color: #4B4B4B;
    background: rgba(130, 134, 139, 0.18);
}

#modalGestaoCheckListLogistica .etiqueta-solicitacao-taxi-pendente {
    color: #8A5B00;
    background: rgba(255, 193, 7, 0.28);
}

html body.navbar-sticky .app-content .content-wrapper:has(.painel-lista-placa-veiculo-checklist) {
    margin-left: 0 !important;
    margin-right: 0 !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
}

div.painel-lista-placa-veiculo-checklist {
    margin: 0 !important;
    padding: 0 !important;
}

html body.navbar-sticky .app-content .content-wrapper:has(.painel-lista-reprovacao-checklist) {
    margin-left: 0 !important;
    margin-right: 0 !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
}

div.painel-lista-reprovacao-checklist {
    margin: 0 !important;
    padding: 0 !important;
}

div#legendaAtualizacaoAutomaticaTabela {
    font-size: .9rem !important;
    padding: 1.3rem 0 0 1rem !important;
    opacity: .9;
    vertical-align: top !important;
}

div#legendaAtualizacaoAutomaticaTabela.atualizacao-pausada {
    font-weight: bold !important;
    color: #2d5b8f !important;
}




#tabelaListaVolumePorLoteTalhaoMedicoesArvores .ui-grid-header-cell .ui-grid-cell-contents {
    white-space: normal !important;
    height: 40px !important;
}
#tabelaListaVolumePorParcelaMedicoesArvores .ui-grid-header-cell .ui-grid-cell-contents {
    white-space: normal !important;
    height: 40px !important;
}


/* Card de apontamentos offline pendentes de sincronização (tema Frest / Vuexy) */

.card-pendencias-sync {
    width: 90%;
    max-width: 420px;
    margin-top: 1rem;
    margin-bottom: .5rem;
    background-color: #FFFFFF;
    border: 1px solid transparent;
    border-radius: .5rem;
    box-shadow: 0 4px 24px 0 rgba(34, 41, 47, .1);
    cursor: pointer;
    text-align: left;
    transition: border-color .3s ease, box-shadow .3s ease, background-color .3s ease, transform .15s ease;
}

.card-pendencias-sync:hover {
    box-shadow: 0 6px 28px 0 rgba(34, 41, 47, .16);
    transform: translateY(-1px);
}

.card-pendencias-sync .card-body {
    padding: .75rem 1rem;
}

/* Ícone em círculo (padrão badge-light) */
.card-pendencias-sync .icone-pendencias {
    flex: 0 0 auto;
    width: 3rem;
    height: 3rem;
    margin-right: 1rem;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    font-size: 1.5rem;
    transition: background-color .3s ease, color .3s ease;
}

.card-pendencias-sync .texto-pendencias {
    display: flex;
    flex-direction: column;
    line-height: 1.25;
    min-width: 0;
}

.card-pendencias-sync .qtd-pendencias {
    font-size: 1.6rem;
    font-weight: 600;
    line-height: 1.1;
}

.card-pendencias-sync .rotulo-pendencias {
    font-size: .9rem;
    font-weight: 500;
    color: #5E5873;
}

.card-pendencias-sync .dica-pendencias {
    margin-top: .15rem;
    font-size: .75rem;
    color: #B9B9C3;
}

/* Estado de ALERTA: existem pendências (danger #EA5455) */
.card-pendencias-alerta {
    border-color: rgba(234, 84, 85, .5);
}

.card-pendencias-alerta .icone-pendencias {
    background-color: rgba(234, 84, 85, .12);
    color: #EA5455;
}

.card-pendencias-alerta .qtd-pendencias {
    color: #EA5455;
}

/* Estado OK: tudo sincronizado (success #39DA8A) */
.card-pendencias-ok {
    border-color: rgba(57, 218, 138, .5);
}

.card-pendencias-ok .icone-pendencias {
    background-color: rgba(57, 218, 138, .12);
    color: #39DA8A;
}

.card-pendencias-ok .qtd-pendencias {
    color: #39DA8A;
}

/* Responsivo: largura fluida em telas pequenas */
@media (max-width: 480px) {
    .card-pendencias-sync {
        max-width: none;
        margin-left: .75rem;
        margin-right: .75rem;
    }

    .card-pendencias-sync .card-body {
        padding: .85rem 1rem;
    }

    .card-pendencias-sync .icone-pendencias {
        width: 2.5rem;
        height: 2.5rem;
        font-size: 1.25rem;
        margin-right: .75rem;
    }

    .card-pendencias-sync .qtd-pendencias {
        font-size: 1.35rem;
    }
}

/* ------------------------------------------------------------------------- *
 * Tela inicial do CheckList Logística.
 *
 * ATENÇÃO: os arquivos .css das páginas entram no bundle GLOBAL do webpack.
 * TODOS os seletores abaixo DEVEM permanecer sob "#inicioCheckListLogistica"
 * para não vazarem para o restante da aplicação.
 *
 * Paleta: laranja #FF8200 (destaque) e azul #004B87 (marca), títulos em azul-marinho.
 * A cor de cada card vem do cadastro do botão, via variáveis inline
 * "--cor" (#RRGGBB) e "--cor-rgb" (r, g, b) geradas por $ctrl.estiloCor().
 * Os tons derivados usam rgba(var(--cor-rgb), x) para funcionar também nas
 * WebViews Android mais antigas (sem color-mix()).
 * ------------------------------------------------------------------------- */

#inicioCheckListLogistica {
    --tela-titulo: #0B2A4A;
    --tela-texto: #33465C;
    --tela-texto-suave: #5B6B7F;
    --tela-marca: #004B87;
    --tela-marca-clara: #0075C9;
    --tela-destaque: #FF8200;
    --tela-superficie: #FFFFFF;
    --tela-linha: #E3E9F1;
    --tela-sombra-1: 0 1px 2px rgba(15, 35, 65, .05), 0 6px 18px rgba(15, 35, 65, .06);
    --tela-raio: 16px;
    --tela-transicao: cubic-bezier(.22, 1, .36, 1);

    width: 100%;
    padding: .25rem .75rem 1.5rem .75rem;
    border-radius: 18px;
    background:
        radial-gradient(900px 360px at 88% -60px, rgba(0, 117, 201, .11), rgba(0, 117, 201, 0) 70%),
        radial-gradient(640px 300px at -5% -40px, rgba(255, 130, 0, .06), rgba(255, 130, 0, 0) 70%),
        linear-gradient(180deg, #EAF2FB 0, #F1F6FB 360px, rgba(242, 244, 244, 0) 760px);
    text-align: center;
}

/* --- Cabeçalho (hero) --- */

#inicioCheckListLogistica .hero-inicio {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: space-between;
    max-width: 1200px;
    margin: 0 auto;
    padding: 1.75rem .25rem 1.5rem .25rem;
    text-align: left;
}

#inicioCheckListLogistica .texto-hero {
    position: relative;
    z-index: 1;
    flex: 1 1 auto;
    min-width: 0;
}

#inicioCheckListLogistica .sobretitulo-hero {
    display: block;
    margin-bottom: .45rem;
    color: var(--tela-marca-clara);
    font-size: .74rem;
    font-weight: 600;
    letter-spacing: .22em;
    line-height: 1.2;
    text-transform: uppercase;
}

#inicioCheckListLogistica .titulo-hero {
    margin: 0 0 .4rem 0;
    color: var(--tela-titulo);
    font-size: 1.85rem;
    font-size: clamp(1.55rem, 1.1rem + 1.8vw, 2.4rem);
    font-weight: 700;
    letter-spacing: -.02em;
    line-height: 1.12;
}

#inicioCheckListLogistica .subtitulo-hero {
    margin: 0;
    color: var(--tela-texto-suave);
    font-size: .95rem;
    font-size: clamp(.9rem, .84rem + .3vw, 1.06rem);
    line-height: 1.45;
}

/* Ilustração decorativa (rota + caminhão), somente a partir de tablet */
#inicioCheckListLogistica .ilustracao-hero {
    flex: 0 0 auto;
    margin-left: 1.5rem;
    width: 44%;
    max-width: 460px;
    height: auto;
    overflow: visible;
}

#inicioCheckListLogistica .ilustracao-hero .rota-hero {
    fill: none;
    stroke: rgba(0, 75, 135, .30);
    stroke-width: 2;
    stroke-dasharray: 5 7;
    stroke-linecap: round;
}

#inicioCheckListLogistica .ilustracao-hero .estrada-hero {
    fill: none;
    stroke: rgba(0, 75, 135, .07);
    stroke-width: 14;
    stroke-linecap: round;
}

#inicioCheckListLogistica .ilustracao-hero .pino-hero path {
    fill: rgba(0, 117, 201, .30);
}

#inicioCheckListLogistica .ilustracao-hero .pino-hero circle {
    fill: #FFFFFF;
}

#inicioCheckListLogistica .ilustracao-hero .caminhao-hero rect,
#inicioCheckListLogistica .ilustracao-hero .caminhao-hero path {
    fill: rgba(0, 75, 135, .10);
}

#inicioCheckListLogistica .ilustracao-hero .caminhao-hero circle {
    fill: rgba(0, 75, 135, .18);
}

/* --- Card de apontamentos offline pendentes (somente celular) --- */

#inicioCheckListLogistica .card-pendencias-sync {
    width: 100%;
    max-width: 1200px;
    margin: 0 auto .9rem auto;
    border-radius: var(--tela-raio);
    box-shadow: var(--tela-sombra-1);
}

/* --- Aviso de contingência (nenhum botão cadastrado) --- */

#inicioCheckListLogistica .aviso-fallback {
    display: flex;
    align-items: flex-start;
    gap: .5rem;
    max-width: 1200px;
    margin: 0 auto 1rem auto;
    padding: .6rem .85rem;
    border: 1px dashed rgba(255, 130, 0, .55);
    border-radius: 12px;
    background-color: rgba(255, 247, 238, .9);
    color: #6E6B7B;
    font-size: .8rem;
    line-height: 1.3;
    text-align: left;
}

#inicioCheckListLogistica .aviso-fallback i {
    flex: 0 0 auto;
    margin-top: .05rem;
    font-size: 1rem;
    color: var(--tela-destaque);
}

#inicioCheckListLogistica .aviso-fallback strong {
    color: var(--tela-marca);
    font-weight: 600;
}

/* --- Aviso de tela vazia (nenhum formulário liberado) --- */

#inicioCheckListLogistica .aviso-vazio {
    display: flex;
    align-items: flex-start;
    gap: .5rem;
    max-width: 760px;
    margin: 1.5rem auto;
    padding: .85rem 1rem;
    border: 1px solid var(--tela-linha);
    border-radius: 12px;
    background-color: var(--tela-superficie);
    box-shadow: var(--tela-sombra-1);
    color: #6E6B7B;
    font-size: .85rem;
    line-height: 1.3;
    text-align: left;
}

#inicioCheckListLogistica .aviso-vazio i {
    flex: 0 0 auto;
    margin-top: .05rem;
    font-size: 1.25rem;
    color: var(--tela-marca);
}

#inicioCheckListLogistica .aviso-vazio strong {
    color: var(--tela-marca);
    font-weight: 600;
}

/* --- Grade de botões ---
 * "dense": o painel de sub-botões ocupa a linha inteira e os cards seguintes
 * preenchem a linha corrente, então o painel abre logo abaixo da linha do botão. */

#inicioCheckListLogistica .grade-botoes {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    grid-auto-flow: row dense;
    gap: .75rem;
    max-width: 1200px;
    margin: 0 auto;
    text-align: left;
}

#inicioCheckListLogistica .item-botao {
    min-width: 0;
}

#inicioCheckListLogistica .cartao-botao {
    --cor: #FF8200;
    --cor-rgb: 255, 130, 0;

    position: relative;
    display: flex;
    align-items: center;
    width: 100%;
    height: 100%;
    min-height: 112px;
    padding: 1rem calc(.9rem + 32px + .75rem) 1rem 1rem;
    border: 1px solid rgba(var(--cor-rgb), .45);
    border-radius: var(--tela-raio);
    background:
        radial-gradient(130px 120px at 52px 50%, rgba(var(--cor-rgb), .13), rgba(var(--cor-rgb), 0) 70%),
        linear-gradient(135deg, #FFFFFF 0%, #FBFCFE 100%);
    box-shadow: var(--tela-sombra-1);
    cursor: pointer;
    outline: none;
    -webkit-tap-highlight-color: transparent;
    -webkit-user-select: none;
    user-select: none;
    transition: transform .2s var(--tela-transicao), box-shadow .2s ease, border-color .2s ease;
}

#inicioCheckListLogistica .cartao-botao:active {
    transform: scale(.985);
}

#inicioCheckListLogistica .cartao-botao.selecionado {
    border-color: var(--cor);
    background:
        radial-gradient(130px 120px at 52px 50%, rgba(var(--cor-rgb), .18), rgba(var(--cor-rgb), 0) 70%),
        linear-gradient(135deg, #FFFFFF 0%, rgba(var(--cor-rgb), .05) 100%);
    box-shadow: 0 2px 4px rgba(15, 35, 65, .05), 0 12px 28px rgba(var(--cor-rgb), .20);
}

/* Ícone sobre um "pedestal" com brilho na cor do botão */
#inicioCheckListLogistica .midia-botao {
    position: relative;
    display: flex;
    flex: 0 0 auto;
    align-items: flex-end;
    justify-content: center;
    width: 78px;
    height: 78px;
    margin-right: 1rem;
    padding-bottom: 10px;
}

#inicioCheckListLogistica .midia-botao::before {
    content: '';
    position: absolute;
    top: 4px;
    right: 4px;
    bottom: 10px;
    left: 4px;
    border-radius: 50%;
    background: radial-gradient(circle, rgba(var(--cor-rgb), .22) 0%, rgba(var(--cor-rgb), 0) 70%);
}

#inicioCheckListLogistica .pedestal-botao {
    position: absolute;
    bottom: 3px;
    left: 50%;
    width: 64px;
    height: 16px;
    margin-left: -32px;
    border-radius: 50%;
    background: linear-gradient(180deg, #FFFFFF 0%, #E3E9F1 100%);
    box-shadow: 0 6px 10px -3px rgba(var(--cor-rgb), .40), inset 0 -2px 3px rgba(15, 35, 65, .08);
}

#inicioCheckListLogistica .midia-botao .icone-botao {
    position: relative;
    z-index: 1;
    color: var(--cor);
    font-size: 2.7rem;
    line-height: 1;
    filter: drop-shadow(0 6px 5px rgba(var(--cor-rgb), .35));
    transition: transform .25s var(--tela-transicao);
}

/* Brilho no topo do ícone (efeito volumétrico) onde background-clip: text é suportado */
@supports ((-webkit-background-clip: text) or (background-clip: text)) {
    #inicioCheckListLogistica .midia-botao .icone-botao {
        background-color: var(--cor);
        background-image: linear-gradient(160deg, rgba(255, 255, 255, .5) 0%, rgba(255, 255, 255, 0) 55%);
        -webkit-background-clip: text;
        background-clip: text;
        -webkit-text-fill-color: transparent;
    }
}

#inicioCheckListLogistica .midia-botao .imagem-botao {
    position: relative;
    z-index: 1;
    max-width: 62px;
    max-height: 56px;
    object-fit: contain;
    filter: drop-shadow(0 6px 6px rgba(15, 35, 65, .18));
    transition: transform .25s var(--tela-transicao);
}

#inicioCheckListLogistica .conteudo-botao {
    flex: 1 1 auto;
    min-width: 0;
}

#inicioCheckListLogistica .titulo-botao {
    margin-bottom: .3rem;
    color: var(--tela-titulo);
    font-size: 1.08rem;
    font-weight: 700;
    letter-spacing: -.005em;
    line-height: 1.25;
    word-break: break-word;
}

#inicioCheckListLogistica .descricao-botao {
    display: -webkit-box;
    overflow: hidden;
    color: var(--tela-texto-suave);
    font-size: .84rem;
    line-height: 1.4;
    word-break: break-word;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
}

#inicioCheckListLogistica .acao-botao {
    position: absolute;
    right: .9rem;
    bottom: .9rem;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 32px;
    height: 32px;
    border: 1px solid var(--tela-linha);
    border-radius: 50%;
    background-color: var(--tela-superficie);
    box-shadow: 0 2px 6px rgba(15, 35, 65, .08);
    color: var(--tela-marca);
    font-size: 1.25rem;
    transition: background-color .2s ease, color .2s ease, border-color .2s ease;
}

#inicioCheckListLogistica .acao-botao i {
    line-height: 1;
    transition: transform .25s var(--tela-transicao);
}

#inicioCheckListLogistica .cartao-botao.selecionado .acao-botao {
    border-color: rgba(var(--cor-rgb), .45);
    background-color: rgba(var(--cor-rgb), .10);
}

#inicioCheckListLogistica .cartao-botao.selecionado .acao-botao i {
    transform: rotate(180deg);
}

/* Hover somente em dispositivos com mouse (evita o "hover preso" após o toque) */
@media (hover: hover) {
    #inicioCheckListLogistica .cartao-botao:hover {
        border-color: rgba(var(--cor-rgb), .9);
        box-shadow: 0 2px 4px rgba(15, 35, 65, .05), 0 14px 30px rgba(var(--cor-rgb), .18);
        transform: translateY(-3px);
    }

    #inicioCheckListLogistica .cartao-botao:hover:active {
        transform: translateY(-3px) scale(.985);
    }

    #inicioCheckListLogistica .cartao-botao:hover .icone-botao,
    #inicioCheckListLogistica .cartao-botao:hover .imagem-botao {
        transform: translateY(-3px);
    }

    #inicioCheckListLogistica .cartao-botao:hover .acao-botao {
        border-color: rgba(var(--cor-rgb), .45);
        background-color: rgba(var(--cor-rgb), .10);
    }
}

/* --- Painel de sub-botões (linha inteira, logo abaixo da linha do botão) --- */

#inicioCheckListLogistica .painel-sub-botoes {
    --cor: #FF8200;
    --cor-rgb: 255, 130, 0;

    grid-column: 1 / -1;
    padding: 1rem;
    border: 1px solid rgba(var(--cor-rgb), .28);
    border-radius: var(--tela-raio);
    background-color: rgba(255, 255, 255, .82);
    box-shadow: var(--tela-sombra-1);
}

/* Somente ao abrir: com a animação no estado base o ngAnimate manteria o painel fechado visível por ~0,4s */
#inicioCheckListLogistica .painel-sub-botoes.ng-hide-remove {
    animation: inicioCheckListLogisticaEntrada .28s var(--tela-transicao);
}

#inicioCheckListLogistica .titulo-painel-sub-botoes {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    margin-bottom: .85rem;
    color: var(--tela-titulo);
    font-size: .98rem;
    font-weight: 700;
    line-height: 1.25;
}

#inicioCheckListLogistica .titulo-painel-sub-botoes > * {
    margin-right: .5rem;
}

#inicioCheckListLogistica .titulo-painel-sub-botoes i {
    color: var(--cor);
    font-size: 1.15rem;
}

#inicioCheckListLogistica .titulo-painel-sub-botoes small {
    color: var(--tela-texto-suave);
    font-size: .78rem;
    font-weight: 400;
}

#inicioCheckListLogistica .grade-sub-botoes {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
    gap: .65rem;
}

#inicioCheckListLogistica .cartao-sub-botao {
    --cor: #FF8200;
    --cor-rgb: 255, 130, 0;

    display: flex;
    align-items: center;
    min-width: 0;
    min-height: 64px;
    padding: .6rem .75rem;
    border: 1px solid var(--tela-linha);
    border-radius: 12px;
    background-color: var(--tela-superficie);
    box-shadow: 0 1px 2px rgba(15, 35, 65, .04);
    cursor: pointer;
    outline: none;
    -webkit-tap-highlight-color: transparent;
    -webkit-user-select: none;
    user-select: none;
    transition: transform .2s var(--tela-transicao), box-shadow .2s ease, border-color .2s ease;
}

#inicioCheckListLogistica .cartao-sub-botao:active {
    transform: scale(.985);
}

#inicioCheckListLogistica .midia-sub-botao {
    display: flex;
    flex: 0 0 auto;
    align-items: center;
    justify-content: center;
    width: 42px;
    height: 42px;
    margin-right: .75rem;
    border-radius: 12px;
    background: linear-gradient(160deg, rgba(var(--cor-rgb), .18) 0%, rgba(var(--cor-rgb), .08) 100%);
}

#inicioCheckListLogistica .midia-sub-botao .icone-botao {
    color: var(--cor);
    font-size: 1.35rem;
    line-height: 1;
}

#inicioCheckListLogistica .midia-sub-botao .imagem-botao {
    max-width: 30px;
    max-height: 30px;
    object-fit: contain;
}

#inicioCheckListLogistica .rotulo-sub-botao {
    flex: 1 1 auto;
    min-width: 0;
    color: var(--tela-texto);
    font-size: .9rem;
    font-weight: 600;
    line-height: 1.25;
    word-break: break-word;
}

#inicioCheckListLogistica .seta-sub-botao {
    flex: 0 0 auto;
    margin-left: .5rem;
    color: #8A97A8;
    font-size: 1.25rem;
    transition: transform .2s var(--tela-transicao), color .2s ease;
}

@media (hover: hover) {
    #inicioCheckListLogistica .cartao-sub-botao:hover {
        border-color: rgba(var(--cor-rgb), .6);
        box-shadow: 0 8px 20px rgba(var(--cor-rgb), .14);
        transform: translateY(-2px);
    }

    #inicioCheckListLogistica .cartao-sub-botao:hover .seta-sub-botao {
        color: var(--cor);
        transform: translateX(3px);
    }

    #inicioCheckListLogistica .cartao-sub-botao:hover:active {
        transform: translateY(-2px) scale(.985);
    }
}

/* --- Foco (teclado) ---
 * Declarado depois de .selecionado e :hover para o anel de foco sempre prevalecer.
 * Onde há suporte a :focus-visible o anel não fica preso após um toque/clique. */

#inicioCheckListLogistica .cartao-botao:focus {
    border-color: rgba(var(--cor-rgb), .9);
    box-shadow: 0 0 0 3px rgba(var(--cor-rgb), .28), var(--tela-sombra-1);
}

#inicioCheckListLogistica .cartao-botao.selecionado:focus {
    border-color: var(--cor);
    box-shadow: 0 0 0 3px rgba(var(--cor-rgb), .28), 0 12px 28px rgba(var(--cor-rgb), .20);
}

#inicioCheckListLogistica .cartao-botao:focus:not(:focus-visible) {
    border-color: rgba(var(--cor-rgb), .45);
    box-shadow: var(--tela-sombra-1);
}

#inicioCheckListLogistica .cartao-botao.selecionado:focus:not(:focus-visible) {
    border-color: var(--cor);
    box-shadow: 0 2px 4px rgba(15, 35, 65, .05), 0 12px 28px rgba(var(--cor-rgb), .20);
}

#inicioCheckListLogistica .cartao-sub-botao:focus {
    border-color: rgba(var(--cor-rgb), .8);
    box-shadow: 0 0 0 3px rgba(var(--cor-rgb), .25);
}

#inicioCheckListLogistica .cartao-sub-botao:focus:not(:focus-visible) {
    border-color: var(--tela-linha);
    box-shadow: 0 1px 2px rgba(15, 35, 65, .04);
}

@keyframes inicioCheckListLogisticaEntrada {
    from {
        opacity: 0;
        transform: translateY(-6px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

/* --- Minhas viagens agendadas (acompanhamento das solicitações de Agendamento de Viagem) --- */

#inicioCheckListLogistica .viagens-usuario {
    max-width: 1200px;
    margin: 0 auto 1rem auto;
    text-align: left;
}

#inicioCheckListLogistica .titulo-viagens-usuario {
    display: flex;
    align-items: center;
    gap: .35rem;
    margin: 0 .5rem .6rem .5rem;
    padding-left: .5rem;
    border-left: 3px solid #FF8200;
    color: #004B87;
    font-size: .95rem;
    font-weight: 600;
}

#inicioCheckListLogistica .titulo-viagens-usuario .carregando-viagens {
    color: #FF8200;
    font-size: .95rem;
}

#inicioCheckListLogistica .item-viagem {
    margin-bottom: .75rem;
    padding-left: .5rem;
    padding-right: .5rem;
}

#inicioCheckListLogistica .cartao-viagem {
    height: 100%;
    padding: .65rem .75rem;
    border: 1px solid #EBE9F1;
    border-left: 4px solid #FF9F43;
    border-radius: 12px;
    background-color: #FFFFFF;
    box-shadow: var(--tela-sombra-1);
    color: #5E5873;
    font-size: .85rem;
    line-height: 1.35;
    cursor: pointer;
    outline: none;
    transition: box-shadow .2s ease, transform .15s ease;
}

#inicioCheckListLogistica .cartao-viagem:hover,
#inicioCheckListLogistica .cartao-viagem:focus {
    box-shadow: 0 4px 14px 0 rgba(34, 41, 47, .12);
    transform: translateY(-2px);
}

#inicioCheckListLogistica .cartao-viagem.viagem-veiculo-ok {
    border-left-color: #28C76F;
}

#inicioCheckListLogistica .cabecalho-viagem {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: .35rem;
    margin-bottom: .35rem;
}

#inicioCheckListLogistica .saida-viagem {
    color: #004B87;
    font-size: .9rem;
    font-weight: 500;
}

#inicioCheckListLogistica .saida-viagem .dia-viagem {
    margin-right: .25rem;
    padding: .05rem .4rem;
    border-radius: 3px;
    background-color: #004B87;
    color: #FFFFFF;
    font-size: .72rem;
    font-weight: 600;
    text-transform: uppercase;
}

#inicioCheckListLogistica .status-viagem {
    padding: .1rem .45rem;
    border-radius: 10px;
    font-size: .72rem;
    font-weight: 600;
    white-space: nowrap;
}

#inicioCheckListLogistica .viagem-aguardando .status-viagem {
    background-color: rgba(255, 159, 67, .15);
    color: #E07B12;
}

#inicioCheckListLogistica .viagem-veiculo-ok .status-viagem {
    background-color: rgba(40, 199, 111, .15);
    color: #1F9D57;
}

#inicioCheckListLogistica .destino-viagem {
    margin-bottom: .3rem;
    color: #2F2F2F;
    font-size: .95rem;
    font-weight: 600;
}

#inicioCheckListLogistica .destino-viagem i,
#inicioCheckListLogistica .linha-viagem i,
#inicioCheckListLogistica .ocupantes-viagem i {
    color: #FF8200;
    vertical-align: middle;
}

#inicioCheckListLogistica .linha-viagem {
    margin-bottom: .15rem;
}

#inicioCheckListLogistica .rotulo-viagem {
    color: #6E6B7B;
    font-weight: 500;
}

#inicioCheckListLogistica .prefixo-viagem {
    color: #1F9D57;
    font-size: .95rem;
}

#inicioCheckListLogistica .pendente-viagem {
    color: #E07B12;
    font-style: italic;
}

#inicioCheckListLogistica .ocupantes-viagem {
    margin-top: .4rem;
    padding-top: .4rem;
    border-top: 1px dashed #EBE9F1;
}

#inicioCheckListLogistica .ocupantes-viagem ul {
    margin: .15rem 0 0 0;
    padding-left: 1.4rem;
}

#inicioCheckListLogistica .ocupantes-viagem li {
    color: #2F2F2F;
    font-weight: 500;
}

/* --- Rodapé --- */

#inicioCheckListLogistica.com-rodape-fixo {
    padding-bottom: 7.5rem;
}

/* O rodapé fixo (estilo inline no template) precisa ficar acima dos ícones dos cards (z-index: 1) ao rolar */
#inicioCheckListLogistica #tituloVersaoSistemaRodapeTelaInicio {
    z-index: 10;
}

#inicioCheckListLogistica .rodape-inicio-checklist {
    width: 100%;
    margin: 1.5rem 0 0 0;
    padding: .75rem 0 .5rem 0;
    border-top: 1px solid #EBE9F1;
    color: #777777;
    font-size: 12px;
    text-align: center;
}

/* --- Responsivo ---
 * celular: 1 coluna com cards horizontais compactos.
 * A partir de 576px as colunas acompanham a largura disponível (cards de no mínimo 260px, 300px no desktop):
 * 2 colunas no tablet e até 3 no desktop, limitado a 1200px (o menu lateral aberto reduz a área útil). */

@media (min-width: 576px) {
    #inicioCheckListLogistica .grade-botoes {
        grid-template-columns: repeat(auto-fill, minmax(260px, 1fr));
        gap: .9rem;
    }
}

@media (min-width: 992px) {
    #inicioCheckListLogistica .grade-botoes {
        grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
        gap: 1.1rem;
    }
}

@media (min-width: 992px) {
    #inicioCheckListLogistica .sobretitulo-hero {
        font-size: .82rem;
    }

    #inicioCheckListLogistica .titulo-hero {
        font-size: 2.2rem;
        font-size: clamp(2rem, 1rem + 1.6vw, 2.9rem);
    }

    #inicioCheckListLogistica .subtitulo-hero {
        font-size: 1.15rem;
    }

    #inicioCheckListLogistica .cartao-botao {
        min-height: 128px;
    }

    #inicioCheckListLogistica .midia-botao {
        width: 86px;
        height: 86px;
    }

    #inicioCheckListLogistica .pedestal-botao {
        width: 70px;
        margin-left: -35px;
    }

    #inicioCheckListLogistica .midia-botao .icone-botao {
        font-size: 3.2rem;
    }

    #inicioCheckListLogistica .titulo-botao {
        font-size: 1.28rem;
    }

    #inicioCheckListLogistica .descricao-botao {
        font-size: 1.02rem;
    }

    #inicioCheckListLogistica .titulo-painel-sub-botoes {
        font-size: 1.12rem;
    }

    #inicioCheckListLogistica .titulo-painel-sub-botoes small {
        font-size: .92rem;
    }

    #inicioCheckListLogistica .rotulo-sub-botao {
        font-size: 1.05rem;
    }
}

@media (max-width: 991px) {
    #inicioCheckListLogistica .ilustracao-hero {
        width: 38%;
    }
}

@media (max-width: 767px) {
    #inicioCheckListLogistica .hero-inicio {
        padding: 1.25rem .25rem 1.1rem .25rem;
    }

    #inicioCheckListLogistica .ilustracao-hero {
        display: none;
    }

    #inicioCheckListLogistica .cartao-botao {
        min-height: 96px;
        padding: .8rem calc(.75rem + 30px + .6rem) .8rem .8rem;
    }

    #inicioCheckListLogistica .midia-botao {
        width: 64px;
        height: 64px;
        margin-right: .8rem;
        padding-bottom: 8px;
    }

    #inicioCheckListLogistica .pedestal-botao {
        width: 52px;
        height: 13px;
        margin-left: -26px;
    }

    #inicioCheckListLogistica .midia-botao .icone-botao {
        font-size: 2.2rem;
    }

    #inicioCheckListLogistica .midia-botao .imagem-botao {
        max-width: 50px;
        max-height: 44px;
    }

    #inicioCheckListLogistica .titulo-botao {
        font-size: 1rem;
    }

    #inicioCheckListLogistica .descricao-botao {
        font-size: .8rem;
        -webkit-line-clamp: 2;
    }

    #inicioCheckListLogistica .acao-botao {
        top: 50%;
        right: .75rem;
        bottom: auto;
        width: 30px;
        height: 30px;
        margin-top: -15px;
    }
}

@media (max-width: 575px) {
    #inicioCheckListLogistica {
        padding: .25rem .75rem 1.25rem .75rem;
        border-radius: 14px;
    }

    #inicioCheckListLogistica .hero-inicio {
        padding: 1rem .35rem .9rem .35rem;
    }

    #inicioCheckListLogistica .sobretitulo-hero {
        font-size: .68rem;
    }

    #inicioCheckListLogistica .painel-sub-botoes {
        padding: .75rem;
    }

    #inicioCheckListLogistica .grade-sub-botoes {
        grid-template-columns: minmax(0, 1fr);
    }
}

@media (prefers-reduced-motion: reduce) {
    #inicioCheckListLogistica .cartao-botao,
    #inicioCheckListLogistica .cartao-sub-botao,
    #inicioCheckListLogistica .midia-botao .icone-botao,
    #inicioCheckListLogistica .midia-botao .imagem-botao,
    #inicioCheckListLogistica .acao-botao i,
    #inicioCheckListLogistica .seta-sub-botao,
    #inicioCheckListLogistica .cartao-viagem {
        transition: none;
    }

    #inicioCheckListLogistica .painel-sub-botoes.ng-hide-remove {
        animation: none;
    }

    #inicioCheckListLogistica .cartao-botao:hover,
    #inicioCheckListLogistica .cartao-botao:active,
    #inicioCheckListLogistica .cartao-sub-botao:hover,
    #inicioCheckListLogistica .cartao-sub-botao:active,
    #inicioCheckListLogistica .cartao-viagem:hover,
    #inicioCheckListLogistica .cartao-viagem:focus,
    #inicioCheckListLogistica .cartao-botao:hover .icone-botao,
    #inicioCheckListLogistica .cartao-botao:hover .imagem-botao {
        transform: none;
    }
}

@media (forced-colors: active) {
    #inicioCheckListLogistica .midia-botao .icone-botao {
        background: none;
        -webkit-text-fill-color: currentColor;
    }
}

.grupos-empresas-selecao-login {
    position: absolute !important;
    z-index: 1000 !important;
    background: #fff !important;
    width: calc(100% - 34px) !important;
    max-height: 150px !important;
    overflow-y: auto !important;
    border: 1px solid #ddd !important;
    border-top: none !important;
}

.item-grupo-empresa-selecao-login {
    display: block !important;
    width: 100% !important;
    padding: .5em 1em !important;
    border: none !important;
    cursor: pointer !important;
    color: #495563 !important;
}

.selecao-ambiente-login {
    display: block !important;
    text-align: center !important;
    padding-bottom: 2px !important;
}

.separador-ambiente-login {
    display: inline-block !important;
    width: 1px !important;
    height: 1px !important;
    margin: 0 .1rem !important;
    background-color: #DFE3E7 !important;
}

.opcao-ambiente-login {
    position: relative !important;
    display: inline-block !important;
    text-align: center !important;
    padding: .6rem .5rem .5rem .5rem !important;
    background-color: #fff !important;
    border: 1px solid #DFE3E7 !important;
    border-radius: .5rem !important;
    cursor: pointer !important;
    color: #677788 !important;
    transition: border-color .18s ease, background-color .18s ease, box-shadow .18s ease, color .18s ease !important;
    outline: none !important;
    min-width: 140px !important;
}

.opcao-ambiente-login:hover {
    border-color: #A9C2F6 !important;
    box-shadow: 0 2px 8px rgba(90, 141, 238, .18) !important;
}

.opcao-ambiente-login:focus-visible {
    box-shadow: 0 0 0 3px rgba(90, 141, 238, .35) !important;
}

.opcao-ambiente-login.selecionada {
    border-color: #5A8DEE !important;
    background-color: #F1F5FE !important;
    box-shadow: 0 0 0 1px #5A8DEE !important;
    color: #5A8DEE !important;
}

.opcao-ambiente-indicador {
    position: absolute !important;
    top: .5rem !important;
    right: .5rem !important;
    width: 15px !important;
    height: 15px !important;
    border: 2px solid #C4CDD9 !important;
    border-radius: 50% !important;
    background-color: #fff !important;
    transition: border-color .18s ease, background-color .18s ease !important;
}

.opcao-ambiente-login.selecionada .opcao-ambiente-indicador {
    border-color: #5A8DEE !important;
    background-color: #5A8DEE !important;
    box-shadow: inset 0 0 0 2.5px #fff !important;
}

.opcao-ambiente-titulo {
    font-size: .9rem !important;
    font-weight: 600 !important;
    line-height: 1.2 !important;
}

.opcao-ambiente-descricao {
    display: block !important;
    text-align: center !important;
    font-size: .72rem !important;
    line-height: 1.2 !important;
    color: #8492A6 !important;
}

.opcao-ambiente-login.selecionada .opcao-ambiente-descricao {
    color: #5A8DEE !important;
}




















/* ------------------------------------------------------------------
   Cadastro de Botões do Menu Principal
   TODOS os seletores devem permanecer sob #cadastroBotaoMenuPrincipal,
   pois este arquivo entra no bundle CSS global da aplicação.
   ------------------------------------------------------------------ */

#cadastroBotaoMenuPrincipal .bmp-bloco {
    position: relative;
    margin-bottom: 1rem;
    padding: 0.85rem 1rem 0.6rem 1rem;
    border: 1px solid #e4e6ec;
    border-radius: 6px;
    background-color: #fbfbfd;
}

#cadastroBotaoMenuPrincipal .bmp-bloco-titulo {
    margin-bottom: 0.75rem;
    font-size: 0.78rem;
    font-weight: 600;
    letter-spacing: 0.04rem;
    text-transform: uppercase;
    color: #6b6f82;
}

/* -- Cor -- */

#cadastroBotaoMenuPrincipal .bmp-cor {
    display: flex;
    align-items: center;
}

#cadastroBotaoMenuPrincipal .bmp-cor .bmp-cor-seletor {
    width: 48px;
    min-width: 48px;
    height: 38px;
    margin-right: 8px;
    padding: 2px 3px;
    cursor: pointer;
}

#cadastroBotaoMenuPrincipal .bmp-cor .bmp-cor-texto {
    flex: 1 1 auto;
    text-transform: uppercase;
}

/* -- Tipo do ícone -- */

#cadastroBotaoMenuPrincipal .bmp-tipo-icone {
    display: inline-flex;
    margin-bottom: 0.75rem;
}

#cadastroBotaoMenuPrincipal .bmp-tipo-icone .btn {
    white-space: nowrap;
}

/* -- Ícone atual -- */

#cadastroBotaoMenuPrincipal .bmp-icone-atual {
    display: flex;
    align-items: center;
    padding: 0.5rem 0;
}

#cadastroBotaoMenuPrincipal .bmp-icone-grande {
    display: inline-block;
    width: 74px;
    min-width: 74px;
    height: 74px;
    line-height: 74px;
    margin-right: 14px;
    border: 1px solid #e4e6ec;
    border-radius: 6px;
    background-color: #ffffff;
    font-size: 2.4rem;
    text-align: center;
}

#cadastroBotaoMenuPrincipal .bmp-icone-info {
    display: block;
}

#cadastroBotaoMenuPrincipal .bmp-icone-classe {
    margin-bottom: 6px;
    font-size: 0.75rem;
    color: #9aa0ac;
    word-break: break-all;
}

/* -- Imagem -- */

#cadastroBotaoMenuPrincipal .bmp-imagem {
    padding: 0.25rem 0 0.5rem 0;
}

#cadastroBotaoMenuPrincipal .bmp-imagem-previa {
    display: flex;
    align-items: center;
}

#cadastroBotaoMenuPrincipal .bmp-imagem-previa img {
    width: 74px;
    height: 74px;
    margin-right: 14px;
    padding: 4px;
    border: 1px solid #e4e6ec;
    border-radius: 6px;
    background-color: #ffffff;
    object-fit: contain;
}

/* -- Seletor de ícones -- */

#cadastroBotaoMenuPrincipal .bmp-seletor {
    margin-top: 0.75rem;
    padding: 0.75rem;
    border: 1px solid #d6d9e4;
    border-radius: 6px;
    background-color: #ffffff;
    max-height: 380px;
    overflow-y: auto;
}

#cadastroBotaoMenuPrincipal .bmp-seletor-cabecalho {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 0.6rem;
    padding-bottom: 0.4rem;
    border-bottom: 1px solid #eceef4;
    font-weight: 600;
    color: #4e5154;
}

#cadastroBotaoMenuPrincipal .bmp-seletor-grupo {
    margin-bottom: 0.85rem;
}

#cadastroBotaoMenuPrincipal .bmp-seletor-grupo-titulo {
    margin-bottom: 0.35rem;
    font-size: 0.72rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.03rem;
    color: #9aa0ac;
}

#cadastroBotaoMenuPrincipal .bmp-seletor-icones {
    display: flex;
    flex-wrap: wrap;
}

#cadastroBotaoMenuPrincipal .bmp-seletor-icone {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: flex-start;
    width: 86px;
    margin: 0 6px 6px 0;
    padding: 8px 4px;
    border: 1px solid #eceef4;
    border-radius: 6px;
    background-color: #fbfbfd;
    color: #4e5154;
    cursor: pointer;
    text-align: center;
}

#cadastroBotaoMenuPrincipal .bmp-seletor-icone:hover {
    border-color: #c6c9d6;
    background-color: #f0f1f6;
    color: #4e5154;
    text-decoration: none;
}

#cadastroBotaoMenuPrincipal .bmp-seletor-icone i {
    margin-bottom: 4px;
    font-size: 1.5rem;
}

#cadastroBotaoMenuPrincipal .bmp-seletor-icone span {
    font-size: 0.65rem;
    line-height: 1.1;
    word-break: break-word;
}

/* -- Pré-visualização do cartão -- */

#cadastroBotaoMenuPrincipal .bmp-previa {
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0.5rem 0;
}

#cadastroBotaoMenuPrincipal .bmp-previa-cartao {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    width: 150px;
    min-height: 130px;
    padding: 14px 8px;
    border: 2px solid #FF8200;
    border-radius: 10px;
    background-color: #ffffff;
    box-shadow: 0 1px 6px rgba(0, 0, 0, 0.08);
}

#cadastroBotaoMenuPrincipal .bmp-previa-icone {
    display: block;
    height: 56px;
    line-height: 56px;
    font-size: 2.9rem;
    text-align: center;
}

#cadastroBotaoMenuPrincipal .bmp-previa-icone img {
    max-width: 56px;
    max-height: 56px;
    object-fit: contain;
    vertical-align: middle;
}

#cadastroBotaoMenuPrincipal .bmp-previa-rotulo {
    margin-top: 10px;
    font-size: 0.8rem;
    font-weight: 600;
    line-height: 1.15;
    text-align: center;
    color: #4e5154;
    word-break: break-word;
}

#cadastroBotaoMenuPrincipal .bmp-previa-ajuda {
    font-size: 0.7rem;
    text-align: center;
    color: #9aa0ac;
}

/* -- Sub menu -- */

#cadastroBotaoMenuPrincipal .bmp-vazio {
    margin-bottom: 0.75rem;
    padding: 0.75rem;
    border: 1px dashed #d6d9e4;
    border-radius: 6px;
    background-color: #ffffff;
    font-size: 0.8rem;
    color: #9aa0ac;
}

#cadastroBotaoMenuPrincipal .bmp-sub {
    position: relative;
    margin-bottom: 0.85rem;
    padding: 0.6rem 0.85rem 0.1rem 0.85rem;
    border: 1px solid #e4e6ec;
    border-radius: 6px;
    background-color: #ffffff;
}

#cadastroBotaoMenuPrincipal .bmp-sub-cabecalho {
    display: flex;
    align-items: center;
    margin-bottom: 0.6rem;
    padding-bottom: 0.4rem;
    border-bottom: 1px solid #eceef4;
}

#cadastroBotaoMenuPrincipal .bmp-sub-indice {
    display: inline-block;
    width: 24px;
    min-width: 24px;
    height: 24px;
    line-height: 24px;
    margin-right: 10px;
    border-radius: 50%;
    background-color: #6b78aa;
    color: #ffffff;
    font-size: 0.72rem;
    text-align: center;
}

#cadastroBotaoMenuPrincipal .bmp-sub-titulo {
    flex: 1 1 auto;
    font-size: 0.85rem;
    font-weight: 600;
    color: #4e5154;
    word-break: break-word;
}

#cadastroBotaoMenuPrincipal .bmp-sub-acoes {
    display: inline-flex;
    white-space: nowrap;
}

#cadastroBotaoMenuPrincipal .bmp-sub-acoes .btn {
    margin-left: 4px;
}

#cadastroBotaoMenuPrincipal .bmp-adicionar {
    padding: 0.25rem 0 0.35rem 0;
}































#tabelaGrupoEmail .ui-grid-row,
#tabelaGrupoEmail .ui-grid-row .ui-grid-cell,
#tabelaGrupoEmail .ui-grid-row .ui-grid-cell .ui-grid-vertical-bar {
    min-height: 30px !important;
    height: auto !important;
}









#tabelaListaLotes .ui-grid-header-cell .ui-grid-cell-contents {
    white-space: normal !important;
    height: 40px !important;
}




















































#sgifFuncionarios.ui-grid .ui-grid-header-cell,
#sgifFuncionarios.ui-grid .ui-grid-cell-contents {
    white-space: normal;
    word-break: break-word;
}


















/* Estilos específicos para o cadastro de Prefixo Patrimônio */

#multple-column-fom.sgifPrefixoPatrimonio .card {
    margin-bottom: 2rem;
}

#multple-column-fom.sgifPrefixoPatrimonio .form-group label {
    font-weight: 600;
    margin-bottom: 0.5rem;
}

#multple-column-fom.sgifPrefixoPatrimonio .danger {
    color: #FF5B5C;
    font-weight: bold;
}









































/* Visualizar Mapa — o iframe recebe altura explícita porque o HTML de dentro
   é de terceiros e costuma usar height:100%, que não resolve sem um pai com
   altura definida. */

#visualizar-mapa .mapa-container {
    position: relative;
    width: 100%;
    height: calc(100vh - 320px);
    min-height: 380px;
    border: 1px solid #dfe3e7;
    border-radius: 4px;
    overflow: hidden;
    background: #f4f5f7;
}

#visualizar-mapa .mapa-iframe {
    display: block;
    width: 100%;
    height: 100%;
    border: 0;
    background: #ffffff;
}

#visualizar-mapa .mapa-carregando {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 20;
    display: flex;
    align-items: center;
    justify-content: center;
    background: rgba(255, 255, 255, .92);
}

#visualizar-mapa .mapa-botao-sair-tela-cheia,
#visualizar-mapa .mapa-botao-localizacao {
    position: absolute;
    z-index: 30;
    right: 10px;
    box-shadow: 0 1px 4px rgba(0, 0, 0, .3);
}

#visualizar-mapa .mapa-botao-sair-tela-cheia {
    top: 10px;
}

#visualizar-mapa .mapa-botao-localizacao {
    bottom: 10px;
}

/* Tela cheia sem depender da Fullscreen API: o WebView do Android nem sempre
   a libera dentro de iframe. */
#visualizar-mapa .card.mapa-tela-cheia {
    position: fixed;
    top: 0;
    left: 0;
    width: 100vw;
    height: 100vh;
    z-index: 1050;
    margin: 0;
    border-radius: 0;
}

#visualizar-mapa .card.mapa-tela-cheia .card-body {
    padding: 0 !important;
}

#visualizar-mapa .card.mapa-tela-cheia .mapa-container {
    height: 100vh;
    min-height: 100vh;
    border: 0;
    border-radius: 0;
}

@media (max-width: 767.98px) {
    #visualizar-mapa .mapa-container {
        height: calc(100vh - 380px);
        min-height: 320px;
    }
}

.custom-switch .custom-control-label {
    width: auto !important;
    align-content: center !important;
    padding-left: 45px !important;
}


#secaoDashboard {
    margin-top: -15px !important;
    margin-left: -17px !important;
    margin-right: 0px !important;
    margin-bottom: 0px !important;
    width: calc(100% + 34px) !important;
}

#secaoDashboard > #iframeDashboard {
    height: calc(100vh - 48px) !important;
}


/*# sourceMappingURL=app.bundle.css.map*/