@import url('https://fonts.googleapis.com/css2?family=Poppins:wght@300;400;500;600;700&display=swap');

:root {
    --cor-principal: #E0E0E0;
    --cor-segundaria: #C8C7C7FF;
    --cor-terciaria: #B6B4B4FF;
    --cor-quartenario: #707070;
    --cor-fonte: #2b333b;
    --cor-fonte-segundaria: #4a4a4a;
    --cor-principal-icon: #639cbe;
    --cor-segundaria-icon: #3d6f8d;
    --cor-terciaria-icon: #b4b4bc;
    --font-family-principal: "open sans", "Helvetica Neue", Helvetica, Arial, sans-serif;
}

@font-face {
    font-family: 'fonteSysmar';
    src: url('/resources/fonts/Clonoid W01 Bold.ttf') format('truetype');
}

.fonteSys, .fonteMar {
    font-family: 'fonteSysmar';
    font-size: 30px;
}

.fonteSys {
    color: #2c54a4;
}

.fonteMar {
    color: #d74045;
}

.fontePanel {
    font-style: italic;
    font-size: 18px;
    font-weight: bold !important;
    color: #497692;
}

.labelPesquisa {
    font-style: italic;
    font-size: 14px;
    font-weight: bold !important;
    color: #497692;
    margin-bottom: 10px;
}

.flex, .flex-horizontal, .flex-vertical {
    display: flex;
}

.flex-horizontal {
    align-items:center;
    align-content: center;
}

.flex-vertical {
    flex-direction: column;
}

.grid-container {
    display: grid;
    grid-template-columns: min-content min-content;
    gap: 5px;
    align-items:center;
}

.texto-alinhado-direita {
    text-align:right
}

.texto-alinhado-centro {
    text-align:center;
}

.texto-alinhado-esquerda {
    text-align:left;
}

body {
    font-family: var(--font-family-principal) !important;
    font-size: 11px;
    position: relative;
    margin: 0;
}

.header {
    margin-top: 15px;
    margin-bottom: 15px;
    position: relative;
    left: 0;
    right: 0;
    color: var(--cor-fonte);
    text-align: left;
    background: #fff;
    border-top: 1px solid #e7eaec !important;
    border-bottom: 1px solid #e7eaec !important;
}

.ui-widget {
    font-size: 11px !important;
}

.alinhamentoCentralizado {
    text-align: center !important;
}

.alinhamentoEsquerda {
    text-align: left !important;
}

.alinhamentoDireita {
    text-align: right !important;
}

a,
a:hover,
a:focus {
    color: inherit;
    text-decoration: none;
    transition: all 0.3s;
}

ul li a {
    padding-left: 10px;
    font-size: 13px;
    display: block;
}

.dropdown-menu li a:hover {
    background: var(--cor-terciaria) !important;
}

.spinner-border {
    color: var(--cor-principal)
}

.botaoPadrao {
    width: auto;
}

.botaoPadraoMg10 {
    margin: 10px !important;
    width: auto;
}

.tableCompacta {
    display: table;
    border-collapse: separate;
    border-color: grey;
    width: 100%;
    line-height: 20px;
    font-size: 11px;
}

.ui-growl {
    z-index: 9999 !important;
}
.ui-growl-item-container {
    opacity: 1;
}
.ui-growl-message, .ui-messages {
    font-size: 14px;
    color: white;
}
.ui-growl-info {
    background-color: #4183b6 !important;
    border: none !important;
}
.ui-growl-warn {
    background-color: #fde58f !important;
    border: none !important;
}
.ui-messages-warn {
    background-color: transparent;
    border: none;
}
.ui-growl-warn .ui-growl-message, .ui-messages-warn .ui-messages-warn-detail {
    color: #333 !important;
}
.ui-growl-error, .ui-messages-error {
    background-color: #ee6e72 !important;
    border: none !important;
}
.ui-growl-fatal, .ui-messages-fatal {
    background-color: #333333 !important;
    border: none !important;
}

.campo-obrigatorio {
    font-weight: bold !important;
    color: #cd0a0a !important;
}

.custom-panel-gradiente .ui-panel-titlebar {
    /*background: linear-gradient(to right, var(--cor-principal), var(--cor-segundaria), var(--cor-terciaria)) !important;*/
    background: var(--cor-segundaria) !important;
    color: var(--cor-fonte) !important;
    font-size: 14px;
}

.mtop10 {
    margin-top: 10px !important;
}

.mbottom10 {
    margin-bottom: 10px !important;
}

.mtop20 {
    margin-top: 20px !important;
}

.bordaSimples {
    border-collapse: collapse;
}

.bordaSimples tr td {
    border: 1px solid #d3d3d3;
}

.bordaSimples tr {
    text-align: left;
}

.container-login {
    display: flex;
    justify-content: center;
    align-items: center;
    height: 100vh;
    background-color: var(--cor-principal); /* Cor de fundo da página */
}

.negrito {
    font-weight: bold !important;
}

body .ui-inputfield {
    font-size: 11px;
    padding: 5px;
}

body .ui-icon {
    font-size: 11px;
}

.iconSize15 .ui-icon,
.iconSize15 .pi {
    font-size: 15px !important;
}

.ui-datepicker {
    width: 300px !important;
    height: auto !important;
    padding: 0 !important;
}

.ui-datepicker-trigger {
    width: 30px !important;
    height: 30px !important;
}

body .ui-datepicker .ui-datepicker-calendar td {
    padding: 0 !important;
    text-align: center;
}

.breadcrumb-container {
    margin: 20px 0;
}

.breadcrumb-container .ui-breadcrumb {
    background-color: #f8f9fa;
    padding-top: 60px;
    padding-bottom: 8px;
    border-radius: 5px;
}

.relatorio {
    z-index: 9999 !important;
    width: 80% !important;
    align-content: center;
}

.ui-autocomplete.ui-state-disabled,
.ui-autocomplete.ui-state-disabled input {
    opacity: .65 !important;
}

.fonteInfoMap {
    font-size: 12px !important;
    margin-bottom: 5px !important;
    display: block !important;
}

.custom-button {
    display: flex !important;
    flex-direction: column !important; /* Ícone e texto continuam empilhados */
    justify-content: center !important;
    align-items: center !important;
    width: 150px !important;
    height: 150px !important;
    padding: 10px !important;
    border: none !important;
    border-radius: 10px !important;
    background-color: #f7f7f7 !important;
    color: #333 !important;
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1) !important;
    transition: all 0.3s ease !important;
    text-align: center !important;
    font-size: 14px !important;
}

.custom-button::before {
    content: "" !important;
    display: block  !important; /* Importante para o `flex-direction: column` */
    width: 50px  !important;
    height: 50px !important;
    background-size: cover  !important;
    margin-bottom: 8px !important; /* Espaço entre o ícone e o texto */
}

.custom-button:hover {
    transform: scale(1.05) !important;
    box-shadow: 3px 3px 10px rgba(0, 0, 0, 0.2) !important;
}

.custom-button .ui-button-icon-left {
    font-size: 35px !important; /* Ajusta o tamanho do ícone */
    margin-bottom: 8px !important;
    position: relative !important; /* Garante posicionamento */
    transform: translateX(-50%) !important; /* Centraliza perfeitamente */
}

.custom-button .ui-button-text {
    font-size: 15px !important;
    font-weight: bold !important;
    color: #555 !important;
    margin-top: auto !important;
    max-height: 70px !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
}

.ui-dock {
    position: fixed !important;
    bottom: 0 !important;
    left: 0 !important;
    width: 100% !important;
    z-index: 1000 !important;
}

.ui-dock em span {
    font-size: 12px;
    font-family: var(--font-family-principal) !important;
}

.ui-dock-container {
    margin-bottom: 0 !important;
}


.icon-casa::before {
    background: url("/images/icons/casa.png") no-repeat center center;
}

.icon-pino-loc::before {
    background: url("/images/icons/pino-loc.png") no-repeat center center;
}

.icon-ponto-de-interrogacao::before {
    background: url("/images/icons/ponto-de-interrogacao.png") no-repeat center center;
}

.icon-imprimir::before {
    background: url("/images/icons/imprimir.png") no-repeat center center;
}

.icon-envio::before {
    background: url("/images/icons/envio.png") no-repeat center center;
}

.icon-plano::before {
    background: url("/images/icons/plano.png") no-repeat center center;
}

.icon-mapa::before {
    background: url("/images/icons/mapa.png") no-repeat center center;
}

legend {
    width: auto !important;
    font-size: 12px !important;
    float: none !important;
}

.ui-fieldset, .ui-fieldset .ui-fieldset-legend {
    padding: .6em 1em !important;
}

.icon-user::before {
    background: url("/images/icons/user.png") no-repeat center center;
}

.icon-menu::before {
    background: url("/images/icons/menu.png") no-repeat center center;
}

.icon-engrenagem::before {
    background: url("/images/icons/engrenagem.png") no-repeat center center;
}

.icon-ajustar::before {
    background: url("/images/icons/ajustar.png") no-repeat center center;
}

.icon-setores::before {
    background: url("/images/icons/setores.png") no-repeat center center;
}

.icon-perfil-usuario::before {
    background: url("/images/icons/perfil-usuario.png") no-repeat center center;
}

.icon-unidade::before {
    background: url("/images/icons/unidade.png") no-repeat center center;
}

.icon-livro::before {
    background: url("/images/icons/livro.png") no-repeat center center;
}

.icon-calendario::before {
    background: url("/images/icons/calendario.png") no-repeat center center;
}

.icon-estrada::before {
    background: url("/images/icons/estrada.png") no-repeat center center;
}

.icon-email::before {
    background: url("/images/icons/email.png") no-repeat center center;
}

.icon-letra-z::before {
    background: url("/images/icons/letra-z.png") no-repeat center center;
}

.icon-letra-l::before {
    background: url("/images/icons/letra-l.png") no-repeat center center;
}

.icon-letra-q::before {
    background: url("/images/icons/letra-q.png") no-repeat center center;
}

.icon-letra-b::before {
    background: url("/images/icons/letra-b.png") no-repeat center center;
}

.icon-injecao::before {
    background: url("/images/icons/injecao.png") no-repeat center center;
}

.icon-pata-animal::before {
    background: url("/images/icons/pata-animal.png") no-repeat center center;
}

.icon-medicamento::before {
    background: url("/images/icons/medicamento.png") no-repeat center center;
}

.icon-tipo-exame::before {
    background: url("/images/icons/tipo-exame.png") no-repeat center center;
}

.icon-tutor::before {
    background: url("/images/icons/tutor.png") no-repeat center center;
}

.ui-datatable table {
    table-layout: auto !important;
}

body .ui-datatable {
    border-collapse: collapse !important;
    width: fit-content !important;
    table-layout: auto !important;
}

body .ui-datatable-wrapper {
    overflow-x: auto !important;
}

body .ui-datatable .ui-datatable-data > tr > td {
    padding: 4px 8px !important;
    border: 1px solid #dee2e6 !important;
    vertical-align: middle !important;
    min-width: 100px !important;
    max-width: 200px !important;
}

body .ui-datatable thead th {
    background-color: white !important;
    color: var(--cor-fonte) !important;
    padding: 8px 8px !important;
    text-align: left;
    box-sizing: border-box !important;
    border-bottom: 2px solid #dee2e6 !important;
    transition: background-color .15s, color .15s, border-color .15s, box-shadow .15s, opacity .15s !important;
}

body .ui-datatable .ui-datatable-data > tr:hover {
    background-color: #f1f3f5 !important;
    transition: background-color 0.2s ease-in-out !important;
}

.columnPequena {

}

body .ui-paginator {
    background-color: white !important;
    color: var(--cor-fonte) !important;
    border: 1px solid #dee2e6 !important;
    border-radius: 6px !important;
    padding: 5px !important;
}

body .ui-paginator-rpp-options {
    background-color: white !important;
    color: var(--cor-fonte) !important;
    border: 1px solid #ccc !important;
    border-radius: 6px !important;
    padding: 5px !important;
    font-size: 14px !important;
    cursor: pointer !important;
}

.ui-column-filter {
    margin: 0 !important;
    padding: 5px;
    border-radius: 6px;
    border: 1px solid #ccc;
    height: 30px;
    vertical-align: middle;
}

.ui-dialog.ui-widget-content .ui-dialog-titlebar {
    background-image: linear-gradient(to right, var(--cor-segundaria), var(--cor-principal));
}

.ui-outputlabel .ui-outputlabel-label {

    color: var(--cor-fonte-segundaria);
    font-weight: 700 !important;
}

.dropdown-toggle::after {
    display: inline-block;
    margin-left: 0.255em;
    vertical-align: 0.255em;
    content: "";
    border-top: 0.3em solid;
    border-right: 0.3em solid transparent;
    border-bottom: 0;
    border-left: 0.3em solid transparent;
}

.ui-panel-title-login .ui-panel-title {
    font-size: 18px !important;
    color: var(--cor-fonte-segundaria);
    font-family: Poppins, sans-serif !important;
    font-weight: 700 !important;
    margin: 0;
}
.header-container-lotacao {
    text-align: center;
    padding: 20px;
    background-color: white;
    border-radius: 10px;
    box-shadow: 0px 4px 6px rgba(0, 0, 0, 0.1);
    color: #333;
}

.header-container-lotacao h4 {
    font-size: 1.3rem;
    font-weight: bold;
}

.content-container-lotacao {
    background-color: #f2f2f2;
    padding: 40px 20px;
    text-align: center;
    min-height: 100vh;
}

.content-container-lotacao h4 {
    font-size: 1.2rem;
    font-weight: bold;
}

.custom-card-lotacao {
    background: white;
    border-radius: 12px;
    transition: 0.3s;
    padding: 10px 20px;
    box-shadow: 0px 4px 8px rgba(0, 0, 0, 0.1);
    cursor: pointer;
    margin: 10px auto;
    display: block;
    text-align: left;
    width: auto;
    min-width: 250px;
    max-width: 600px;
    word-wrap: break-word;
}

.custom-card-lotacao:hover {
    background-color: #e9ecef;
    transform: translateY(-3px);
    box-shadow: 0px 6px 12px rgba(0, 0, 0, 0.15);
}

.custom-card-lotacao-content {
    display: flex;
    align-items: center;
    justify-content: flex-start;
}

.custom-icon-card-lotacao {
    font-size: 2rem;
    color: #007bff;
    margin-right: 15px;
}

.custom-text-card-lotacao {
    font-size: 1.1rem;
    font-weight: bold;
    color: #333;
    margin: 0;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.custom-subtext-card-lotacao {
    font-size: 0.9rem;
    color: #666;
    margin-top: 5px;
}

.no-decoration {
    text-decoration: none !important;
    color: inherit !important;
    outline: none !important;
    border: none !important;
    display: block;
}

.no-decoration:hover,
.no-decoration:focus,
.no-decoration:active {
    text-decoration: none !important;
    color: inherit !important;
    outline: none !important;
    border: none !important;
}

.img-home {
    display: block;
    width: 50px;
    height: auto;
}

.custom-btn {
    min-width: 120px;
    background-color: white !important;
    text-decoration: none !important;
    text-align: left !important;
    margin: 10px !important;
    border-radius: 10px !important;
    font-size: 11px !important;
    color: var(--cor-fonte);
    font-family: Poppins, sans-serif !important;
    font-weight: 600 !important;
    border: none !important;
    border-left: 10px solid var(--cor-quartenario) !important;
    box-shadow: 2px 4px 8px rgba(0, 0, 0, 0.2) !important; /* Sombra leve */
    cursor: pointer !important;
    display: inline-flex !important;
    align-items: center !important;
    height: 35px !important;
}

.custom-btn .ui-button-icon-left {
    vertical-align: middle;
    line-height: inherit;
}

.mg-left20 {
    margin-left: 20px !important;
}

.custom-btn:hover {
    color: var(--cor-fonte) !important;
    background-color: var(--cor-segundaria) !important;
    box-shadow: 4px 6px 12px rgba(0, 0, 0, 0.3) !important; /* Sombra mais forte no hover */
}

body .pi {
    font-size: 11px !important;
    color: var(--cor-fonte) !important;
    padding-right: 3px !important;
}

.download-btn {
    position: fixed;
    bottom: 20px;
    left: 50%;
    transform: translateX(-50%);
}

.btn-primeface-danger {
    padding: 0 !important;
    border-left: 10px solid #b81717 !important;
}

.btn-primeface-prioritario {
    padding: 0 !important;
    border-left: 10px solid var(--cor-principal-icon) !important;
}

.btn-primeface-segundario {
    padding: 0 !important;
}

.btn-prioritario {
    border-left: 10px solid var(--cor-principal-icon) !important;
}

.custom-btn-icon {
    background-color: white !important;
    text-decoration: none !important;
    text-align: center !important; /* Centraliza o ícone */
    padding: 10px !important; /* Mantém o espaçamento interno */
    width: 30px !important; /* Define uma largura fixa */
    height: 30px !important; /* Define uma altura fixa */
    border-radius: 30% !important; /* Deixa o botão redondo */
    border: none !important;
    box-shadow: 2px 4px 8px rgba(0, 0, 0, 0.2) !important; /* Sombra leve */
    cursor: pointer !important;
    align-items: center !important;
    justify-content: center !important; /* Centraliza o ícone dentro do botão */
    margin: 2px !important;
}

.custom-btn-icon:hover {
    color: var(--cor-fonte) !important;
    background-color: var(--cor-segundaria) !important;
    box-shadow: 4px 6px 12px rgba(0, 0, 0, 0.3) !important; /* Sombra mais forte no hover */
}

.custom-btn-icon .ui-button-icon-left {
    vertical-align: middle;
    line-height: inherit;
}

.btn-primeface-prioritario-icon {
    padding: 0 !important;
    border: 1px solid var(--cor-principal-icon) !important;
}

.btn-primeface-segundario-icon {
    padding: 0 !important;
    border: 1px solid #4db817 !important;
}

.btn-primeface-default-icon {
    padding: 0 !important;
    border: 1px solid #333 !important;
}

.btn-primeface-danger-icon {
    padding: 0 !important;
    border: 1px solid #b81717 !important;
}

@media (max-width: 1024px) {
    .fonteSys, .fonteMar {
        font-size: 24px;
    }

    .fontePanel {
        font-size: 16px !important;
    }

    .ui-button .ui-button-text {
        font-size: 16px !important;
    }
}

@media (max-width: 768px) {
    .fonteSys, .fonteMar {
        font-size: 20px;
    }

    .fontePanel {
        font-size: 14px !important;
    }

    .ui-button .ui-button-text {
        font-size: 14px !important;
    }

    .output-entidade {
        font-size: 12px;
        font-weight: 600 !important;
        bottom: 5px;
        padding: 8px 8px;
        clip-path: none;
        transition: background-color 0.3s, transform 0.2s;
    }

    .output-unidade {
        font-size: 12px !important;
        font-weight: 600 !important;
    }

    .img-home {
        width: 40px !important;
    }

    .ui-dock img {
        width: 40px !important;
    }
}

@media (max-width: 480px) {
    .fonteSys, .fonteMar {
        font-size: 16px;
    }

    .fontePanel {
        font-size: 12px !important;
    }

    .ui-button .ui-button-text {
        font-size: 12px !important;
    }

    .output-perfil {
        font-size: 10px !important;
        font-weight: 600 !important;
    }

    .output-entidade {
        font-size: 10px;
        font-weight: 600 !important;
        bottom: 0;
        padding: 8px 8px;
        clip-path: none;
        transition: none;
    }

    .output-unidade {
        font-size: 10px !important;
        font-weight: 600 !important;
    }

    .img-home {
        width: 25px !important;
    }

    .ui-dock img {
        width: 30px !important;
    }
}

/*css dos componentes do Material*/

/*css do autocomplete*/
.autocomplete-wrapper {
    position: relative;
}

.autocomplete-sugestoes-container {
    position: absolute;
    top: 100%;
    left: 0;
    right: 0;
    z-index: 1000;
}

.autocomplete-sugestoes {
    margin: 0;
    padding: 0;
    list-style: none;
    background-color: #fff;
    border: 1px solid #ccc;
    border-radius: 6px;
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
    max-height: 200px;
    overflow-y: auto;
    width: 100%;
    box-sizing: border-box;
}

.autocomplete-sugestoes li {
    padding: 10px 12px;
    cursor: pointer;
    font-size: 14px;
    transition: background-color 0.2s ease;
}

.autocomplete-sugestoes li:hover {
    background-color: #cceaff;
    color: #007fff;
}

/* Grupo do input + botão */
.input-group-custom {
    display: flex;
    align-items: stretch;
    width: 100%;
}

.input-group-custom .btn {
    height: 32px !important;
    padding: 0 1rem;
    border-radius: 0 6px 6px 0;
    font-size: 1rem;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: background-color 0.3s;
}

.input-group-custom .btn i {
    font-size: 1rem;
}

.input-group-custom .btn:disabled {
    opacity: 0.6;
    pointer-events: none;
}


.page-title h2 {
    font-size: 1.75rem;
    font-weight: 500;
    color: #333;
    margin-bottom: 1rem;
}

.centralizado {
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
}

.card .ui-float-label {
    margin-bottom: 1rem;
}

.filtros-card {
    --bs-card-border-color: none !important;
    margin-bottom: 10px !important;
}

.sidebar-cadastro {
    width: 50% !important;
    right: 0 !important;
    left: auto !important;
    box-sizing: border-box;
    padding: 80px 20px 20px 20px !important; /* empurra o conteúdo pra baixo */
}

.sidebar-footer-cadastro {
    position: sticky;
    bottom: 0;
    background: white;
    padding: 1rem;
    border-top: 1px solid #ccc;
    z-index: 10;
}

.painel-detalhes {
    background-color: #fff;
    border: 1px solid #ddd;
    border-radius: 10px;
    padding: 20px;
    box-shadow: 0 2px 5px rgba(0, 0, 0, 0.05);
    font-size: 14px;
}

.bloco {
    border-right: 1px solid #ddd;
    padding: 0 15px;
}

.bloco:last-child {
    border-right: none;
}

.titulo-bloco {
    font-weight: bold;
    font-size: 16px;
    color: #2D7CBF;
    margin-bottom: 20px;
    text-align: center;
}

.campo {
    margin-bottom: 20px;
}

.campo-label {
    font-size: 13px;
    color: #555;
    font-weight: 600;
}

.campo-valor {
    font-size: 14px;
    color: #000;
    margin-top: 5px;
    font-weight: bold;
}