
body {
    font-family: 'Montserrat', sans-serif;
    background-color: #F5F5F5;
    margin: 0;
    padding: 20px;
}
.classe-a-receber {
    background-color: rgba(255, 153, 0, 0.1);
}

.container {
    background-color: white;
    padding: 20px;
    border-radius: 8px;
    box-shadow: 0 0 10px rgba(0,0,0,0.1);
    max-width: 600px;
    margin: 0 auto;
}
.onboarding-container {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    height: calc(100vh - 40px); /* Mantém altura total da viewport */
    gap: 5px;
    padding: 10px;
}

.container-cadastro {
    background-color: white;
    padding: 10px;
    border-radius: 8px;
    box-shadow: 0 0 10px rgba(0,0,0,0.1);
    width: 30%;
    max-width: 600px;
    height: calc(100vh - 40px); /* Altura total menos o padding do container pai */
    overflow-y: auto; /* Adiciona barra de rolagem vertical */
}
.container-lista-logos {
    background-color: white;
    padding: 10px;
    border-radius: 8px;
    box-shadow: 0 0 10px rgba(0,0,0,0.1);
    width: 15%;
    max-width: 600px;
    height: calc(100vh - 40px); /* Altura total menos o padding do container pai */
    overflow-y: auto; /* Adiciona barra de rolagem vertical */
}

.container-preview {
    background-color: white;
    width: 55%;
    padding: 10px;
    border-radius: 8px;
    box-shadow: 0 0 10px rgba(0,0,0,0.1);
    height: calc(100vh - 40px); /* Altura total menos o padding do container pai */
    overflow-y: auto; /* Adiciona barra de rolagem vertical */
}
.container-cadastro-onboarding {
    background-color: white;
    padding: 10px;
    border-radius: 8px;
    box-shadow: 0 0 10px rgba(0,0,0,0.1);
    width: 40%;
    max-width: 600px;
    height: calc(100vh - 40px); /* Altura total menos o padding do container pai */
    overflow-y: auto; /* Adiciona barra de rolagem vertical */
}

.container-preview-onboarding {
    background-color: white;
    width: 60%;
    padding: 10px;
    border-radius: 8px;
    box-shadow: 0 0 10px rgba(0,0,0,0.1);
    height: calc(100vh - 40px); /* Altura total menos o padding do container pai */
    overflow-y: auto; /* Adiciona barra de rolagem vertical */
}

/* Estilo do scrollbar para Chrome, Safari e Edge */
.container-cadastro::-webkit-scrollbar {
    width: 10px;
    height: 10px;
}

.container-cadastro::-webkit-scrollbar-thumb {
    background-color: #cecece;
    border-radius: 10px;
}

.container-cadastro::-webkit-scrollbar-track {
    background-color: #f1f1f1;
    border-radius: 10px;
}
/* Estilo do scrollbar para Chrome, Safari e Edge */
.container-preview::-webkit-scrollbar {
    width: 10px;
    height: 10px;
}

.container-preview::-webkit-scrollbar-thumb {
    background-color: #cecece;
    border-radius: 10px;
}

.container-preview::-webkit-scrollbar-track {
    background-color: #f1f1f1;
    border-radius: 10px;
}
/* Estilo do scrollbar para Chrome, Safari e Edge */
.container-cadastro-onboarding::-webkit-scrollbar {
    width: 10px;
    height: 10px;
}

.container-cadastro-onboarding::-webkit-scrollbar-thumb {
    background-color: #cecece;
    border-radius: 10px;
}

.container-cadastro-onboarding::-webkit-scrollbar-track {
    background-color: #f1f1f1;
    border-radius: 10px;
}
/* Estilo do scrollbar para Chrome, Safari e Edge */
.container-preview-onboarding::-webkit-scrollbar {
    width: 10px;
    height: 10px;
}

.container-preview-onboarding::-webkit-scrollbar-thumb {
    background-color: #cecece;
    border-radius: 10px;
}

.container-preview-onboarding::-webkit-scrollbar-track {
    background-color: #f1f1f1;
    border-radius: 10px;
}
/* Aplica a todos os elementos que possuem scroll */
*::-webkit-scrollbar {
    width: 10px;
    height: 10px;
}

*::-webkit-scrollbar-thumb {
    background-color: #cecece;
    border-radius: 10px;
}

*::-webkit-scrollbar-track {
    background-color: #f1f1f1;
    border-radius: 10px;
}

.grid-container {
    display: grid;
    grid-template-columns: 1fr 1fr; /* Define 2 colunas */
    gap: 5px; /* Espaçamento entre os itens */
    align-items: center;
    /* max-width: 400px; */
}

.grid-container label {
    font-weight: bold;
}

.grid-container input[type="color"] {
    width: 100%;
    height: 40px; /* Ajusta a altura do seletor de cores */
    border: none;
    cursor: pointer;
}

/* Estiliza a lista de opções */
#sortable-variaveis {
    list-style: none;
    padding: 0;
    margin: 0;
}

/* Cada item da lista */
#sortable-variaveis .list-group-item {
    display: flex;
    align-items: center;
    /* justify-content: space-between; */
    padding: 10px;
    background: #f8f9fa;
    border: 1px solid #ddd;
    border-radius: 5px;
    margin-bottom: 5px;
    cursor: grab;  /* Cursor de "pegar" */
    font-size: 16px;
    font-weight: bold;
    transition: background 0.2s ease-in-out;
}

/* Quando o usuário estiver segurando um item */
#sortable-variaveis .list-group-item:active {
    cursor: grabbing; /* Indica que está segurando */
    background: #e0e0e0;
}
/* Impede a seleção de texto ao arrastar os itens */
#sortable-variaveis {
    user-select: none; /* Impede que o usuário selecione o texto */
    -webkit-user-select: none; /* Compatível com Safari */
    -moz-user-select: none; /* Compatível com Firefox */
    -ms-user-select: none; /* Compatível com Internet Explorer */
}

/* Aplica a regra também aos itens da lista */
#sortable-variaveis .list-group-item {
    cursor: grab; /* Mantém o cursor de arrastar */
    user-select: none;
}

/* Quando o usuário está segurando o item, troca para "grabbing" */
#sortable-variaveis .list-group-item:active {
    cursor: grabbing;
}


/* Ícone de mover (arrastar) */
.move-icon {
    font-size: 20px;
    color: #6c757d;
    margin-left: 10px;
}

/* Adiciona uma sombra ao item arrastado */
.sortable-ghost {
    opacity: 0.6;
    background: #d1ecf1;
}

/* Adiciona um efeito de destaque no item selecionado */
.sortable-chosen {
    background: #cce5ff;
}

h1 {
    color: #ff6600;
    text-align: center;
}
h2 {
    color: #555555;
    margin: 0;
    padding-bottom: 10px;
    text-align: center;
    position: relative;
}

h2::after {
    content: "";
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 2px;
    background: linear-gradient(to right, #CB1A48, #FE7E07);
    border-radius: 1px;
}
h3 {
    color: #777777;
    margin-top: 10px;
    margin-bottom: 10px;
    border-bottom: 2px solid #949494;
    text-align: left;
}

label {
    display: block;
    margin-top: 10px;
    color: #333;
    font-weight: bold;
}
input[type="text"], select {
    width: 100%;
    padding: 8px;
    margin-top: 5px;
    border: 1px solid #ddd;
    border-radius: 4px;
    box-sizing: border-box;
}
input[type="email"], select {
    width: 100%;
    padding: 8px;
    margin-top: 5px;
    border: 1px solid #ddd;
    border-radius: 4px;
    box-sizing: border-box;
}
input[type="number"], select {
    width: 100%;
    padding: 8px;
    margin-top: 5px;
    border: 1px solid #ddd;
    border-radius: 4px;
    box-sizing: border-box;
}
input[type="date"], select {
    width: 100%;
    padding: 8px;
    margin-top: 5px;
    border: 1px solid #ddd;
    border-radius: 4px;
    box-sizing: border-box;
}
input[type="datetime-local"], select {
    width: 100%;
    padding: 8px;
    margin-top: 5px;
    border: 1px solid #ddd;
    border-radius: 4px;
    box-sizing: border-box;
}
input[type="file"], select {
    width: 100%;
    padding: 8px;
    margin-top: 5px;
    border: 1px solid #ddd;
    border-radius: 4px;
    box-sizing: border-box;
}
input[type="password"], select {
    width: 100%;
    padding: 8px;
    margin-top: 5px;
    border: 1px solid #ddd;
    border-radius: 4px;
    box-sizing: border-box;
}
input[type="color"] {
    width: 100%;
    height: 30px;
    padding: 1px 40px;
    margin-top: 5px;
    border: 1px solid #ddd;
    border-radius: 4px;
    box-sizing: border-box;
    background-color: #ffffff;
}
select {
    background-color: white;
}
select option {
    background-color: #ffffff;  /* Cor de fundo de cada opção */
    color: #444;  /* Cor do texto */
}
.header {
    position: relative;
    padding: 20px;
}


/* Menu Hambúrguer */
.menu-container {
    position: relative;
    position: absolute;
    top: 10px;
    right: 10px;
}

.menu-icon {
    font-size: 30px;
    cursor: pointer;
    display: flex;
    align-items: center;
    gap: 5px;
    flex-direction: row-reverse;
}

.menu-dropdown {
    display: none;
    background: white;
    box-shadow: 0px 4px 6px rgba(0, 0, 0, 0.1);
    border-radius: 5px;
    width: 320px;
    padding: 10px;
    z-index: 100;
}

.menu-dropdown a {
    display: flex;
    cursor: pointer;
    align-items: center;
    gap: 10px;
    padding: 10px;
    text-decoration: none;
    color: black;
    border-radius: 5px;
    transition: background 0.3s;
}

.menu-dropdown a:hover {
    background: #f1f1f1;
}

.menu-dropdown span {
    font-size: 20px;
}

/* Responsividade */
@media (max-width: 600px) {
    .home-btns {
        flex-direction: column;
        width: 100%;
        gap: 0px;
    }
    .home-btns .btn {
        width: 100%;
        box-sizing: border-box;
        margin-top: 5px;
    }
    .table-container th, .table-container td {
        padding: 1px;
    }
    .fila-exames-actions .btn{
        width: 100%;
        box-sizing: border-box;
    }
}

/* Container principal */
.variables-container {
    max-width: 1320px;
    margin: 0 auto;
    padding: 20px;
}

/* Título principal */
.variables-title {
    /* color: #ff6600; */
    text-align: center;
    margin-bottom: 30px;
    padding-bottom: 10px;
    /* border-bottom: 2px solid #ff6600; */
}

/* Grid de 4 colunas */
.variables-grid {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr 2.5fr;
    gap: 2px;
    margin-top: 20px;
}

/* Estilo para cada coluna */
.variables-column {
    background-color: white;
    padding: 5px;
    border-radius: 8px;
    box-shadow: 0 0 10px rgba(0,0,0,0.1);
    min-height: 710px;
    max-height: 710px;
    overflow: auto;
}
.variables-column .rich-text-editor {
    padding: 5px;
}

/* Títulos das colunas */
.variables-column h3 {
    color: #555555;
    margin: 0;
    padding-bottom: 10px;
    border-bottom: 2px solid #ff6600;
    text-align: center;
    font-size: 18px;
    margin-bottom: 20px;
}

/* Estilo para elementos dentro das colunas */
.variables-column select,
.variables-column input,
.variables-column textarea {
    width: 100%;
    padding: 8px;
    margin-top: 5px;
    border: 1px solid #ddd;
    border-radius: 4px;
    box-sizing: border-box;
}

/* Responsividade */
@media (max-width: 1200px) {
    .variables-grid {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (max-width: 750px) {
    .variables-grid {
        grid-template-columns: 1fr;
    }
    
    .variables-column {
        min-height: auto;
    }
}
/* Estilos para a lista de itens clicáveis */
.clickable-list {
    display: flex;
    flex-direction: column;
}

.list-item {
    padding: 8px;
    cursor: pointer;
    border: 1px solid #ddd;
    margin-bottom: 2px;
    font-size: 12px;
    /* text-align: center; */
}

.list-item:hover {
    background-color: #f0f0f0;
}

.list-item.selected {
    background: #bff7d4;
    color: #555;
    border-color: #0ae500; /* Cor de destaque para o item selecionado */
    /* font-weight: bold; */
}

.titulo_editar_variaveis {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px; /* Espaço entre o botão e o título, ajuste conforme necessário */
    margin-bottom: 20px; /* Espaço abaixo da div */
    position: relative; /* Para posicionar o botão à esquerda */
}

.titulo_editar_variaveis .btn {
    position: absolute;
    left: 0;
    text-decoration: none; /* Remove o sublinhado do link */
    font-size: 14px; /* Ajuste o tamanho da fonte conforme necessário */
    padding: 8px 12px;
    border-radius: 4px;
    /* background-color: #007bff;  */
    color: white;
    margin-top: 0;
}
/* Estilos para dispositivos móveis */
@media (max-width: 600px) {
    .titulo_editar_variaveis {
        flex-direction: column; /* Alinha o botão e o título em coluna */
        align-items: flex-start; /* Alinha o conteúdo ao início da div */
        gap: 5px; /* Ajuste o espaço entre o botão e o título para dispositivos móveis */
    }

    .titulo_editar_variaveis .btn {
        position: static; /* Remove o posicionamento absoluto */
        margin-bottom: 10px; /* Adiciona espaço abaixo do botão */
        white-space: nowrap; /* Aplica nowrap também em dispositivos móveis */
        width: auto;
    }

    .titulo_editar_variaveis h1, .titulo_editar_variaveis h2 { /* Ajuste o título conforme necessário */
        font-size: 18px; /* Tamanho menor para o título em telas menores */
    }
    #deleteButton, #saveAsNewTemplateButton, #saveChangesButton {
        width: auto;
        white-space: nowrap;
        padding: 15px 5px;
    }
    .header .material-icons {
        font-size: 70%;
    }
}

.variables-title {
    font-size: 24px; /* Tamanho do título */
    margin: 0;
    text-align: center;
}

input[type="file"] {
    margin-top: 5px;
}
input[type="submit"] {
    background-color: #ff6600;
    color: white;
    padding: 10px 20px;
    border: none;
    border-radius: 4px;
    cursor: pointer;
    margin-top: 20px;
    display: block;
    width: 100%;
    font-weight: 200;
    font-size: 18px;
}
input[type="submit"]:hover {
    background-color: #e55c00;
}
input[type="button"] {
    background-color: #ff6600;
    color: white;
    padding: 10px 20px;
    border: none;
    border-radius: 4px;
    cursor: pointer;
    margin-top: 20px;
    display: block;
    width: 100%;
    font-weight: 200;
    font-size: 18px;
}
input[type="button"]:hover {
    background-color: #e55c00;
}
.header {
    background-color: white;
    padding: 20px;
    border-radius: 8px;
    box-shadow: 0 0 10px rgba(0,0,0,0.1);
    max-width: 1320px;
    margin: 0 auto;
    text-align: center;
    display: flex;
    flex-direction: column;
    align-items: center;
    position: relative;
}

.btn {
    border: 0;
    font-family: 'Montserrat', sans-serif;
    font-size: 18px;
    display: inline-block;
    background-color: #ff6600;
    color: white;
    padding: 10px 20px;
    text-decoration: none;
    border-radius: 4px;
    font-weight: 200;
    margin-top: 20px;
}
.btn:hover {
    background-color: #e55c00;
}
.iframe-container {
    flex-grow: 1;
    padding: 20px;
    box-sizing: border-box;
    max-width: 1400px;
    margin: 0 auto;
    height: calc(100vh - 220px); /* Ajuste o '100px' para a altura real do seu cabeçalho */
    display: flex;
    flex-direction: column;
}

iframe {
    border: none;
    width: 100%;
    flex-grow: 1;
    min-height: 0; /* Isso permite que o iframe encolha se necessário */
}
/* Estilos para as text areas */
textarea {
    width: 96%;
    height: 160px;
    padding: 10px;
    margin-top: 5px;
    margin-bottom: 20px;
    border: 1px solid #ccc;
    border-radius: 4px;
    font-size: 14px;
    font-family: inherit;
    resize: vertical; /* Permite redimensionar verticalmente */
    transition: border-color 0.3s ease;
}

/* Estilo para a text area ao focar */
textarea:focus {
    border-color: #e55c00;
    outline: none;
    box-shadow: 0 0 10px rgba(0,0,0,0.1);
}

.main-container {
    display: flex;
    align-items: stretch;
    flex-direction: row;
    height: calc(100vh - 80px); /* Ajuste conforme necessário */
    position: relative;
}
.campo-readonly {
    background-color: #f5f5f5;
    border: 1px solid #ccc;
    cursor: default;
}

/* reaproveita seu estilo atual; só ajusta textarea */
.campo-readonly.suspeita-display { 
    resize: vertical;        /* usuário pode expandir se quiser */
    overflow: auto;          /* mostra rolagem se ficar muito grande */
    font-family: inherit;    /* mantém a mesma fonte do site */
    line-height: 1.4;
}

.container-review {
    flex-grow: 1;
    overflow-y: auto;
    padding: 20px;
    box-shadow: 0 0 10px rgba(0,0,0,0.1);
    /* margin-left: 20px; */
    margin-top: 40px; /* Espaço para o título fixo */
    /* width: 60%; */
    background-color: #f5f5f5;
}
/* Estilos para o editor de texto */
/* Estilos para o editor de texto rico */
/* Estilos para o container do editor e barra de ferramentas */
.editor-container {
    width: auto;
    margin-top: 5px;
    margin-bottom: 20px;
    border: 1px solid #ccc;
    border-radius: 4px;
    padding: 5px;
    background-color: white;
    box-shadow: 0 0 10px rgba(0,0,0,0.05); /* Sutil para parecer uma única div */
}

.toolbar {
    margin-bottom: 5px;
    display: flex;
    gap: 10px;
    padding-bottom: 5px;
    border-bottom: 1px dashed #ccc;
    align-items: center;
}

.toolbar .material-symbols-outlined {
    font-variation-settings: 'FILL' 0, 'wght' 400, 'GRAD' 0, 'opsz' 24;
    font-size: 24px;
    cursor: pointer;
    color: #808080; /* Cor cinza para os ícones */
    transition: color 0.3s ease;
}

.toolbar .material-symbols-outlined:hover {
    color: #e55c00; /* Cor laranja ao passar o mouse */
}

@media (max-width: 900px) {
    .toolbar .material-symbols-outlined {
        font-size: 16px; /* Tamanho menor para dispositivos móveis */
    }
}

.icon-button {
    position: relative;
    display: inline-block;
}

.icon-button input[type="color"] {
    position: absolute;
    left: 0;
    top: 0;
    padding: 0;
    margin: 0;
    opacity: 0; /* Esconde o input visualmente */
    cursor: pointer;
    width: 100%; /* Faz com que o clique funcione em toda a área */
    height: 100%;
}
.icon-button input[type="color"]:hover {
    color: #e55c00;
}


/* Estilos para o editor de texto */
.rich-text-editor {
    /* width: 100%; */
    height: 160px;
    padding: 0 10px;
    border: none; /* Remover borda extra */
    font-size: 14px;
    font-family: inherit;
    resize: vertical;
    overflow-y: auto;
    transition: box-shadow 0.3s ease;
}

/* Estilo para o editor ao focar */
.rich-text-editor:focus {
    outline: none;
    box-shadow: 0 0 10px rgba(0, 0, 0, 0.1);
}

/* fim do editor de texto */

.image-list {
    flex-grow: 1;
    /* flex: 0 0 65%;  */
    /* overflow-y: auto; */
    padding: 20px;
    background-color: #fff;
    box-shadow: 2px 0 5px rgba(0,0,0,0.1);
    margin-top: 40px; /* Espaço para o título fixo */
    max-width: 100%;
    box-sizing: border-box;
    min-width:100%;
    height: auto; /* Ajuste conforme necessário */
}

.image-list img {
    width: 100%;
    box-shadow: 0 0 5px rgba(0,0,0,0.1);
}
.image-list .btn {
    margin-bottom: 10px;
    margin-top: 0;
    width: 100%;
    background-color: #aaa;
    color: white;
    border: none;
    padding: 5px 2px;
    border-radius: 5px;
    cursor: pointer;
    text-align: center;
}

.image-list .btn:hover {
    background-color: #888; /* Tom um pouco mais escuro ao passar o mouse */
}


.fixed-title {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%; /* Ocupa toda a largura da tela */
    background-color: #fff;
    padding: 10px 0;
    box-shadow: 0 2px 5px rgba(0,0,0,0.1);
    text-align: center;
    z-index: 1; /* Garante que o título fique acima de outros elementos */
}

.fixed-title h1 {
    margin: 0;
    font-size: 36px;
}



.resizer {
    cursor: col-resize;
    background: #555555;
    width: 5px;
    height: 100%;
    top: 150px;
    margin-top: 40px; /* Espaço para o título fixo */
}

.fixed-button button {
    background-color: #ff6600;
    color: white;
    padding: 10px 20px;
    border: none;
    border-radius: 4px;
    cursor: pointer;
    margin-top: 20px;
    display: block;
    width: 100%;
    font-weight: 200;
    font-size: 18px;
    width: 20%;  
    margin-top: 0;
}

.fixed-button {
    position: fixed;
    bottom: 0;
    left: 0;
    width: 100%; /* Ocupa toda a largura da tela */
    background-color: #fff;
    padding: 10px 0;
    box-shadow: 0 -2px 5px rgba(0,0,0,0.1);
    text-align: center;
    display: flex;
    justify-content: center;
    gap: 10px;
} 

h5 {
    font-size: 14px;
    margin: 5px;
}

.fixed-button input[type="submit"] {
    width: 20%;  
    margin-top: 0;
} 
.fixed-button input[type="button"] {
    width: 20%;  
    margin-top: 0;
} 

@media (max-width: 900px) {
    .fixed-button input[type="button"] {
        font-size: 14px; /* Faz os botões ocuparem 100% da largura */
        margin-top: 0px; /* Espaço entre os botões */
    } 
    .fixed-button button {
        font-size: 14px; /* Faz os botões ocuparem 100% da largura */
        margin-top: 0px; /* Espaço entre os botões */
    }
    .fixed-button input[type="submit"] {
        font-size: 14px; /* Faz os botões ocuparem 100% da largura */
        margin-top: 0px; /* Espaço entre os botões */
    } 
}

/* style.css (ou <style> na página) */
.sensitive.hidden {
    filter: blur(6px);          /* disfarça o texto */
    pointer-events: none;       /* impede seleção/cópia */
}
.toggle-sensitive {
    background: none;
    border: none;
    cursor: pointer;
    vertical-align: middle;
    margin-left: .25rem;        /* encosta no título */
}


.modal {
    display: none; /* Esconde a modal por padrão */
    position: fixed;
    z-index: 2;
    left: 0;
    top: 0;
    width: 100%;
    height: 100vh;
    /* overflow: hidden;     */
    background-color: rgba(0, 0, 0, 0.4);
}

.modal-dialog {
    height: 100%;
    overflow: auto;
}
.modal-content {
    background-color: #fefefe;
    margin: 30px auto;
    padding: 20px;
    border: 1px solid #888;
    border-radius: 8px;
    width: 60%;
    height: auto;
    text-align: center;
    display: flex;
    flex-direction: column;
    align-items: center; /* Centraliza os itens horizontalmente */
    position: relative; /* Necessário para posicionar o botão de fechar */
    overflow: auto;
    animation: fadeInModal 0.3s ease-in-out;
}
.modal-footer {
    width: 100%;
}
.preview-container {
    margin-top: 15px;
    padding: 10px;
    background: #f1f1f1;
    border-radius: 5px;
    text-align: center;
    width: 100%;
}

.preview-text {
    font-size: 18x;
    color: #333;
    padding: 5px;
    display: inline-block;
    min-width: 200px;
}
.modal-content button {

    font-weight: 200;
    margin-top: 10px; /* Adiciona um espaço entre os botões */
    width: 60%; /* Faz os botões ocuparem 100% da largura do conteúdo da modal */
}

.close {
    position: absolute; /* Garante que o botão de fechar fique no canto superior direito */
    top: 10px;
    right: 10px;
    font-size: 24px;
    padding-right: 10px;
    cursor: pointer;
    color: #aaa;
    font-weight: 200;
}

.close:hover,
.close:focus {
    color: black;
    text-decoration: none;
    cursor: pointer;
}
.spinner_content {
    display: none; /* Esconde a modal por padrão */
    position: fixed;
    z-index: 9999;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    overflow: auto;
    background-color: rgba(0, 0, 0, 0.6);
}
.spinner {
    display: block;
    position: fixed;
    top: calc(50% - 120px);
    left: calc(50% - 85px);
    transform: translate(-50%, -50%);
    border: 20px solid #f3f3f3;
    border-radius: 50%;
    border-top: 20px solid #e55c00;
    width: 120px;
    height: 120px;
    animation: spin 2s linear infinite;
    z-index: 9999;
}

.spinner-text {
    position: fixed;
    top: calc(50% + 80px);
    left: 50%;
    transform: translateX(-50%);
    color: white;
    font-size: 18px;
    text-align: center;
    opacity: 0;
    transition: opacity 0.5s;
}
#timer {
    font-size: 24px;
    font-weight: bold;
    color: #27ae60;
    margin-bottom: 20px;
}
.maintenance-container {
    max-width: 600px;
    padding: 20px;
    background: #ffffff;
    border: 1px solid #ddd;
    border-radius: 10px;
    box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
}

@keyframes spin {
    0% { transform: rotate(0deg); }
    100% { transform: rotate(360deg); }
}

.fade-in {
    opacity: 1;
}

.fade-out {
    opacity: 0;
}

.version {
    font-size: 0.6em;
    color: #666;
    margin-top: 10px;
    text-align: center;
}

.version a {
    text-decoration: none;
    cursor: pointer;
    color: #666;
}

.home-btns {
    /* display: flex; */
    justify-content: space-between; /* Espaçamento uniforme entre os botões */
    gap: 10px; /* Espaço entre os botões */
}

/* CSS para botao de excluir imagens */
.image-item {
    position: relative; /* Necessário para posicionar o botão dentro do contêiner da imagem */
    /* display: inline-block; */
    /* margin: 10px; */
    transition: transform 0.3s ease, box-shadow 0.3s ease;
    /* cursor: grab; */
    
}

.image-item:hover {
    transform: translateY(-2px); /* Eleva o card levemente */
    transform: scale(1.01); 
    box-shadow: 0 4px 8px rgba(0,0,0,0.2); /* Aumenta a sombra */
}
.image-item img {
    width: 100%;
    height: auto; /* Mantém a proporção da imagem */
    border-radius: 6px; /* Bordas arredondadas para a imagem */
    box-shadow: 0 2px 4px rgba(0,0,0,0.1); /* Sombra sutil para a imagem */
}

.delete-button {
    position: absolute;
    top: -3px;
    right: -3px;
    background-color: #ff6600; /* Fundo vermelho translúcido */
    border: none;
    color: white;
    font-size: 14px;
    padding: 5px 8px;
    cursor: pointer;
    border-radius: 50%;
    display: none; /* Inicialmente oculto */
}

.image-item:hover .delete-button {
    display: block; /* Exibe o botão quando o mouse passa sobre a imagem */
}

.delete-button:hover {
    background-color: #e55c00; /* Torna o botão totalmente opaco ao passar o mouse */
}

.delete-button::after {
    content: 'Excluir imagem';
    position: absolute;
    top: -25px; /* Ajuste conforme necessário */
    right: 0;
    background-color: rgba(0, 0, 0, 0.7);
    color: white;
    font-size: 12px;
    padding: 2px 5px;
    border-radius: 3px;
    white-space: nowrap;
    opacity: 0;
    transition: opacity 0.2s;
}

.delete-button:hover::after {
    opacity: 1; /* Mostra o texto quando o botão "X" é hoverado */
}



/* Container principal */
.dashboard-container {
    max-width: 1320px;
    margin: 0 auto;
    /* padding: 20px; */
}

/* container do bloco inteiro ---------------------------------*/
.rascunho-item{
    display:flex;
    align-items:center;        /* centraliza verticalmente */
    justify-content:space-between;
    padding:10px;
    margin:10px 0;
    border:1px solid #ccc;
    border-radius:8px;
    background:#f9f9f9;

    flex-wrap:nowrap;          /* ⬅️  NÃO deixa quebrar linha */
}

/* textos ------------------------------------------------------*/
.rascunho-info{
    flex:1 1 auto;             /* ocupa o espaço que puder…   */
    min-width:0;               /* …mas permite encolher p/ wrap interno */
    display:flex;
    flex-wrap:wrap;            /* cada <p> ainda pode quebrar */
    gap:10px;
}
.rascunho-info p{margin:0;font-size:14px;}

/* botão / ações ----------------------------------------------*/
.rascunho-actions{
    flex:0 0 auto;             /* nunca encolhe, nunca quebra */
}

/* se quiser um espaçamento extra entre texto e botão */
.rascunho-actions{margin-left:20px;}


/* Status ocupa a linha toda */
.rascunho-info .status{
    flex-basis:100%;         /* força quebra de linha */
    text-align: left;
}


/* Área dos botões */
.rascunho-actions {
    display: flex;
    gap: 10px;
    margin-left: 10px;
}

/* Botões */
.rascunho-item .btn {
    padding: 8px 12px;
    border: none;
    cursor: pointer;
    font-size: 14px;
    border-radius: 5px;
    margin-top: 0px;
    transition: 0.3s;
}

.btn-continuar {
    background-color: #4CAF50;
    color: white;
}

.btn-excluir {
    background-color: #f44336;
    color: white;
}

/* Efeito hover para botões */
.btn:hover {
    opacity: 0.8;
}
.btn.btn-novo {
    cursor: pointer;
}

/* 📌 Responsividade para Mobile */
@media (max-width: 750px) {
    .rascunho-item {
        flex-direction: column; /* Empilha os itens em telas menores */
        align-items: flex-start; /* Alinha os textos à esquerda */
        padding: 15px;
    }

    .rascunho-info {
        gap: 10px;
        flex-direction: column; /* Faz os textos ficarem um abaixo do outro */
        width: 100%;
    }

    .rascunho-actions {
        width: 100%;
        justify-content: space-between; /* Mantém os botões bem espaçados */
        margin-top: 10px;
        display: flex;
        flex-wrap: wrap;
        margin-left: 0px;
    }

    .rascunho-actions .btn {
        flex: 1; /* Faz com que os botões tenham o mesmo tamanho */
        text-align: center;
        font-size: 11px;
        width: 100%;
        box-sizing: border-box;
        margin-left: 0px;
    }
    .btn.btn-novo {
        width: 100%;
    }
}


.insercao-auto p {
  display: block;
  margin: 0 0 14px 0;
  padding: 0;
}


/* -------- modal exclusivo para fila de exames --------------------------- */
.fila-exames-modal{
    position:fixed; inset:0;
    background:rgba(0,0,0,.55);
    display:flex; justify-content:center; align-items:center;
    z-index:9999;
}

.fila-exames-content{
    background:#fff;
    padding:24px 32px;
    border-radius:8px;
    max-width:500px; width:90%;
    box-shadow:0 2px 6px rgba(0,0,0,.25);
    text-align:center;
    animation: fadeInModal 0.3s ease-in-out;
}

.fila-exames-actions{
    margin-top:20px;
    display:flex; gap:12px; justify-content:center;
}


/* Estilo do container dropdown */
.checkbox-dropdown {
    background-color: #ffffff;
    padding: 10px;
    border: 1px solid #ccc;
    border-radius: 5px;
    cursor: pointer;
    width: 100%;
    display: flex;
    justify-content: space-between;
    align-items: center;
    font-size: 14px;
    box-sizing: border-box;
    margin-top: 5px;
}

.snippet-button {
    display: block;
    width: 100%;
    text-align: left;
    margin: 1px 0;
    padding: 4px 10px;
    background-color: #f9f9f9;
    border: 1px solid #ddd;
    border-radius: 6px;
    font-size: 14px;
    cursor: pointer;
    color: #333;
    transition: background-color 0.3s ease, transform 0.2s ease;
}

.snippet-button:hover {
    background-color: #f0f0f0;
    border-color: #ccc;
}

.snippet-button:active {
    transform: scale(0.97);
    background-color: #e0e0e0;
}
/* botão já usado → cor discreta + cursor padrão */
/* coloque isso no seu stylesheet */
.snippet-button.ativo {
    background: #bff7d4;
    color: #555;
    border-color: #0ae500;
  }
  


.campo-cabecalho {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-bottom: 10px;
}

.campo-cabecalho label {
    width: 180px; /* ou 'min-width' se preferir */
    font-weight: 500;
}

.campo-cabecalho input,
.campo-cabecalho select {
    flex: 1;
    padding: 6px;
    border: 1px solid #ccc;
    border-radius: 5px;
}

#cabecalhoEditor button {
    padding: 10px 16px;
    margin-top: 12px;
    margin-right: 8px;
    border: none;
    border-radius: 6px;
    font-size: 14px;
    cursor: pointer;
    transition: background-color 0.3s ease, transform 0.2s ease;
}

/* Botão salvar (laranja) */
#cabecalhoEditor button:nth-of-type(1) {
    background-color: #48d435;
    color: white;
}

#cabecalhoEditor button:nth-of-type(1):hover {
    background-color: #2c7732;
}

#cabecalhoEditor button:nth-of-type(1):active {
    transform: scale(0.97);
}

/* Botão cancelar (cinza claro) */
#cabecalhoEditor button:nth-of-type(2) {
    background-color: #cecece;
    color: #333;
}

#cabecalhoEditor button:nth-of-type(2):hover {
    background-color: #e0e0e0;
}

#cabecalhoEditor button:nth-of-type(2):active {
    transform: scale(0.97);
}


/* Ícone de dropdown */
.checkbox-dropdown .dropdown-icon {
    font-size: 12px;
    transition: transform 0.3s ease;
}

/* Esconde a lista com transição suave */
.checkbox-list {
    max-height: 0;
    overflow: auto;
    opacity: 0;
    border: 1px solid #ccc;
    border-radius: 5px;
    background-color: white;
    box-shadow: 0px 4px 6px rgba(0, 0, 0, 0.1);
    padding: 0 0px;
    transition: max-height 0.3s ease-out, opacity 0.3s ease-out, padding 0.3s ease-out;
    margin-top: 0;
}

/* Quando a lista for expandida */
.checkbox-list.expanded {
    max-height: 155px; /* Ajuste conforme necessário */
    opacity: 1;
    padding: 0px;
    transition: max-height 0.3s ease-in, opacity 0.3s ease-in, padding 0.3s ease-in;
}

/* Checkboxes espaçados e alinhados */
.checkbox-item {
    display: flex;
    align-items: flex-start;
    gap: 8px;
    padding: 0px 0;
    cursor: pointer;
    font-weight: 100;
    margin-top: 0;
}

/* Gira o ícone quando expandido */
.checkbox-dropdown.active .dropdown-icon {
    transform: rotate(180deg);
}

/* Personalização da cor do checkbox */
input[type="checkbox"] {
    accent-color: #ff6600; /* Altere para a cor desejada */
}



/* Área de filtros */
.filters-section {
    background: #f0f0f0;
    border-radius: 8px;
    padding: 20px;
    margin: 20px 0;
    box-shadow: 0 2px 4px rgba(0,0,0,0.1);
}

.filters-row {
    display: flex;
    gap: 7px;
    align-items: center;
    flex-wrap: wrap;
}


.filter-group {
    display: flex;
    gap: 10px;
    align-items: center;
}
.filter-group  :hover{
    opacity: 0.8;
}

.filter-group input[type="text"]{
    font-size: 14px;
    min-width: 200px;
}




.image-container {
    margin-top: 20px;
}
.custom-file-input {
    display: none;
}
.custom-file-label {
    width: 100%;
    height: 30px;
    display: inline-block;
    background-color: #ffffff;
    color: rgb(65, 65, 65);
    padding: 5px 10px;
    border-radius: 4px;
    cursor: pointer;
    text-align: left;
    margin-top: 5px;
    font-size: 14px;
    font-weight: 200;
    border: 1px solid #ddd;
    border-radius: 4px;
    box-sizing: border-box;
}
.custom-file-label:hover {
    background-color: #e6e2e2;
}



/* Botões de filtro */
.filter-btn {
    background-color: white;
    border: 1px solid #ddd;
    padding: 8px 16px;
    border-radius: 4px;
    cursor: pointer;
    font-size: 14px;
    color: #555;
    transition: all 0.2s ease;
}

.filter-btn:hover {
    background-color: #f8f8f8;
    border-color: #ccc;
}

.filter-btn.active {
    background-color: #ff6600;
    color: white;
    border-color: #ff6600;
}

/* Select de clínicas */
.filter-select {
    padding: 8px 12px;
    border: 1px solid #ddd;
    border-radius: 4px;
    background-color: white;
    min-width: 200px;
    font-size: 14px;
    color: #555;
    max-width: 200px;
}

.filter-select:focus {
    outline: none;
    border-color: #ff6600;
    box-shadow: 0 0 0 2px rgba(255, 102, 0, 0.1);
}

.filter-label {
    font-size: 14px;
    color: #555;
    font-weight: 500;
}

/* Separador vertical */
.filter-divider {
    width: 1px;
    height: 24px;
    background-color: #ddd;
    margin: 0 1px;
}

/* Layout principal de duas colunas */
.main-content {
    display: grid;
    grid-template-columns: 2fr 1fr;
    gap: 20px;
    margin-top: 20px;
}

/* Coluna da esquerda */
.left-column {
    display: flex;
    flex-direction: column;
    gap: 20px;
}

/* Cards container */
.stats-cards {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
    gap: 15px;
}

/* Card individual */
.stats-card {
    background: white;
    padding: 20px;
    border-radius: 8px;
    box-shadow: 0 2px 4px rgba(0,0,0,0.1);
    text-align: center;
    transition: transform 0.3s ease, box-shadow 0.3s ease; /* Adiciona a transição suave */
}

/* Efeito hover */
.stats-card:hover {
    transform: translateY(-2px); /* Eleva o card levemente */
    box-shadow: 0 4px 8px rgba(0,0,0,0.2); /* Aumenta a sombra */
}

.stats-number {
    font-size: 24px;
    font-weight: bold;
    color: #ff6600;
}

.stats-label {
    color: #666;
    margin-top: 5px;
}

/* Seções com fundo */
.section-box {
    background: #f0f0f0;
    border-radius: 8px;
    padding: 20px;
    box-shadow: 0 2px 4px rgba(0,0,0,0.1);
    margin-bottom: 20px;
}

/* Títulos das seções */
.section-title, .section-title-graf {
    color: #555;
    margin-bottom: 10px;
    padding-bottom: 5px;
    border-bottom: 2px solid #ff6600;
}

/* Tabelas */
/* Estilo do scrollbar para Chrome, Safari e Edge */
.table-container::-webkit-scrollbar {
    width: 0px;
}

.table-container::-webkit-scrollbar-thumb {
    background-color: #fcf4ec;
    border-radius: 10px;
}

.table-container::-webkit-scrollbar-track {
    background-color: #f1f1f1;
    border-radius: 10px;
}

.table-container .material-icons {   
    font-size: 20px;  /* Ajuste o tamanho dos ícones */
    margin-right: 4px;  
}
.table-container a:hover {
    opacity: 0.4;  /* Opacidade sutil no hover */
    text-decoration: none;  /* Remove o sublinhado ao passar o mouse */
}

.table-container {
    max-height: 460px; /* Defina a altura fixa da tabela */
    overflow-y: auto; /* Habilita a rolagem vertical quando o conteúdo exceder a altura */
    overflow-x: auto;
    padding-top: 20px;
    scrollbar-width: thin; /* Para Firefox */
    scrollbar-color: #e7e6e6 #f1f1f1; /* Para Firefox */
}



.table-container table {
    width: max-content; /* Faz com que a tabela cresça conforme necessário */
    min-width: 100%; /* Garante que ocupe pelo menos o espaço do container */
    border-collapse: collapse; /* Estilo para evitar espaçamento entre bordas */
    border-radius: 10px; /* Arredondar as bordas da tabela */
}

.table-container th, .table-container td {
    max-width: 120px;
    padding: 8px;
    text-align: left;
    border-bottom: 1px solid #ddd; /* Estilo de borda para os elementos da tabela */
}

table {
    width: 100%;
    border-collapse: collapse;
    background: white;
    border-radius: 8px;
}



th, td {
    padding: 8px;
    text-align: left;
    border-bottom: 1px solid #ddd;
    font-size: 14px;
    font-family: 'Montserrat', sans-serif;
    color: #666;
}

td a {
    border: none;
    text-decoration: none;
}

th {
    font-weight: 600;
    color: #333;
}

tbody tr:hover {
    /* background-color: #f8f8f8; */
    border-color: #f8f8f8;
}

/* Gráfico */
.chart-container {
    background: white;
    padding: 20px;
    border-radius: 8px;
    box-shadow: 0 2px 4px rgba(0,0,0,0.1);
}

/* Container principal da página */
.edit-variables-container {
    display: flex;
    width: 100%;
    height: 100vh;
    font-family: Arial, sans-serif;
}

/* Sidebar do menu lateral */
.edit-sidebar {
    width: 250px;
    background-color: #f4f4f4;
    padding: 20px;
    box-shadow: 2px 0 5px rgba(0, 0, 0, 0.1);
    overflow-y: auto;
}

.edit-sidebar h3 {
    font-size: 18px;
    font-weight: bold;
    color: #333;
    margin-bottom: 15px;
}

.edit-sidebar ul {
    list-style-type: none;
    padding: 0;
}

.edit-sidebar ul li {
    margin-bottom: 10px;
}

.edit-sidebar ul li ul {
    margin-left: 10px;
    margin-top: 5px;
}

.edit-sidebar a {
    color: #007bff;
    text-decoration: none;
    cursor: pointer;
}

.edit-sidebar a:hover {
    text-decoration: underline;
}

/* Seção do editor */
.editor-section {
    flex: 1;
    padding: 20px;
    overflow-y: auto;
}

.editor-section h2 {
    font-size: 22px;
    font-weight: bold;
    color: #333;
    margin-bottom: 15px;
}

/* Contêiner do editor */
.editor-container {
    border: 1px solid #ccc;
    padding: 10px;
    margin-bottom: 15px;
    background-color: #fff;
}

.modal-body {
    width: 90%;
}
.form-label {
    text-align: left;
}

.modalForm {
    width: 80%;
    max-width: 500px;
}



/* Media query para telas pequenas (como celulares) */
@media (max-width: 650px) {
    .main-container {
        flex-direction: column; /* Coloca os elementos em coluna para telas pequenas */
        height: auto; /* Ajusta a altura para se adequar ao conteúdo */
        width: 90%;
    }

    .image-list {
        display: none; /* Esconde a lista de imagens */
    }

    .container-review {
        flex: 1;
        margin-bottom: 40px;
        width: 100%;
        /* margin-top: 0;  */
    }
    body{
        padding: 0px;
    }
    .fixed-button input[type="submit"] {
        width: 40%;
        font-size: 11px;
    }
    .modal-content {
        width: 70%;
    }
    .modal-content button {
        width: 90%;
    }
    textarea {
        font-size: 10px;
    }
    .fixed-button input[type="submit"] {
        width: 30%;  
        margin-top: 0;
    } 
    .fixed-button input[type="button"] {
        width: 30%;  
        margin-top: 0;
        font-size: 11px;
    } 
    input[type="submit"] {
        font-size: 11px;
    }
    input[type="button"] {
        font-size: 11px;
    }
    .container .btn {
        width: auto;
    }
    .btn {
        font-size: 11px;
        width: 20%;
    }
    .fixed-button {
        display: flex;
        flex: 1;

    }
    .fixed-button button {
        width: 30%;
        font-size: 11px;
        padding: 0;
    }
    .toolbar .material-symbols-outlined {
    font-size: 13px;
    letter-spacing: 0px;
    }
    th, td {
        padding: 2px 5px;
        font-size: 12px;
    }
    h1 {
        font-size: 18px;
    }
    h2 {
        font-size: 16px;
    }

    
}

/* Responsividade para dispositivos móveis */
@media (max-width: 750px) {
    .main-content {
        grid-template-columns: 1fr;
    }

    .stats-cards {
        grid-template-columns: 1fr;
    }

    .table-container {
        height: auto; /* Ajusta a altura para caber melhor em dispositivos móveis */
    }

    .stats-card {
        padding: 15px;
    }

    .stats-number {
        font-size: 20px;
    }

    .stats-label {
        font-size: 14px;
    }

    .chart-container, .section-title-graf {
        display: none;

    }
}
@media (max-width: 950px) {
    .chart-container, .section-title-graf {
        display: none;

    }
    .table-container {
        height: auto; /* Ajusta a altura para caber melhor em dispositivos móveis */
        max-height: 250px;
    }
}
@media (max-width: 750px) { /* Ajuste para mobile */
    .onboarding-container {
        flex-direction: column; /* Muda para layout vertical */
        align-items: center; /* Centraliza os itens */
        height: auto; /* Permite altura dinâmica */
    }

    .container-cadastro,
    .container-preview, .container-lista-logos {
        width: 100%; /* Ocupa toda a largura */
        max-width: none; /* Remove a limitação de largura */
        height: auto; /* Altura dinâmica */
    }
    .custom-file-label {
        font-size: 11px;
    }
    .container-lista-logos .btn {
        width: 100%;
        font-size: 11px;
    }
}

/* Estilização do botão de mover para o topo */
.move-top-btn {
    background-color: #949494; /* Cor de fundo neutra */
    border: 1px solid #999; /* Borda sutil para diferenciar */
    color: #ffffff; /* Cor do ícone/texto */
    font-size: 14px;
    font-weight: bold;
    padding: 0px;
    border-radius: 3px; /* Menos arredondado */
    cursor: pointer;
    transition: all 0.1s ease-in-out;
    /* margin-right: 10px; */
}
.move-top-btn .material-symbols-outlined {
    font-size: 14px;
}

/* Efeito ao passar o mouse */
.move-top-btn:hover {
    background-color: #ff9800; /* Cor chamativa (laranja) */
    /* border-color: #e68900; */
    color: white;
    transform: scale(1.05); /* Pequeno efeito de destaque */
}

/* Ajuste para botões dentro da lista */
.list-item {
    display: flex;
    align-items: center;
    justify-content: space-between;
}
/* Para garantir que o botão não fique muito grande em telas menores */
@media (max-width: 600px) {
    .move-top-btn {
        font-size: 12px;
        padding: 4px 6px;
    }
}


td select, td input{
    font-size: 12px;
}

/* Estiliza o ícone do sino */
.notification-icon {
    position: absolute;
    top: 10px;
    right: 90px;
    cursor: pointer;
    font-size: 24px;
    color: #444;
    transition: 0.3s;
}
.notification-icon-person {
    position: absolute;
    top: 10px;
    right: 50px;
    cursor: pointer;
    font-size: 24px;
    color: #444;
    transition: 0.3s;
}

.notification-icon:hover, .notification-icon-person:hover {
    color: #ff4500;
}

/* Estiliza o modal de notificações */
#modalNotificacao {
    display: none;
    position: fixed;
    z-index: 1000;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, 0.5);
}

/* Tooltip (mensagem ao passar o mouse) */
.tooltip {
    visibility: hidden;
    background-color: #333;
    color: #fff;
    text-align: center;
    padding: 8px;
    border-radius: 5px;
    position: absolute;
    top: 40px;
    right: -20px;
    width: 150px;
    font-size: 12px;
    opacity: 0;
    transition: opacity 0.3s ease-in-out;
}

/* Exibir o tooltip ao passar o mouse */
.notification-icon:hover .tooltip {
    visibility: visible;
    opacity: 1;
}

@media (max-width: 750px) { /* Ajuste o tamanho de corte conforme necessário */
    .filters-row {
        flex-direction: column; /* Empilha os filtros verticalmente */
        gap: 15px; /* Adiciona espaço maior entre os filtros */
        align-items: stretch; /* Garante que ocupem toda a largura */
    }

    .filter-group {
        flex-direction: column; /* Empilha os elementos dentro de cada grupo */
        gap: 10px;
        align-items: stretch; /* Ajusta o alinhamento */
    }
    
    .filters-section {
        padding: 15px; /* Ajusta o padding para telas menores */
    }
    .filter-divider {
        display: none; /* Esconde o separador em telas menores */
    }
    .filter-select {
        width: 100%; /* Faz o select ocupar toda a largura disponível */
        max-width: 100%;
    }
}


.action-toggle           { cursor: pointer; color: #444; }
    .actions-cell {
        position: relative;
        overflow: visible;
    }


.action-menu             {
    display: none;
    position: absolute;
    left: calc(100% + 4px);   /*  abre 4 px depois do ícone  */
    top: 0;
    background: #fff;
    border: 1px solid #ddd;
    border-radius: 4px;
    box-shadow: 0 2px 8px rgba(0,0,0,.15);
    z-index: 9999;            /*  fica sempre na frente      */
    min-width: 160px;
    padding: 4px 0;
}
.action-menu.open        { display: block; }
.action-menu a           {
    display: flex;
    align-items: center;
    gap: 6px;
    padding: 6px 12px;
    font-size: 14px;
    color: #444;
    text-decoration: none;
    white-space: nowrap;
}
.action-menu a:hover     { background: #f5f5f5; }
/* estado “ativo” – personalize à vontade */
.actions-cell.active .action-toggle {     /* .dots-icon = classe do seu ícone */
    color: #ff6600;                     /* muda a cor ─ ex.: azul Bootstrap */
    filter: drop-shadow(0 0 2px #fd650d55);
    font-weight:bold; transform:scale(1.1);
}
.actions-cell .material-icons {
    color: #444;
}
.modal-endereco {
    display: none;
    position: fixed;
    z-index: 9999;
    left: 0;
    top: 0;
    width: 100vw;
    height: 100vh;
    overflow: auto;
    background-color: rgba(0, 0, 0, 0.5);
    justify-content: center;
    align-items: center;
}

.modal-endereco-content {
    background-color: #fff;
    padding: 30px;
    border-radius: 12px;
    width: 100%;
    max-width: 500px;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.25);
    animation: fadeInModal 0.3s ease-in-out;
}

@keyframes fadeInModal {
    from { opacity: 0; transform: scale(0.95); }
    to { opacity: 1; transform: scale(1); }
}


.modal-endereco-content h2 {
    margin-top: 0;
    color: #333;
    font-size: 24px;
    margin-bottom: 10px;
}

.modal-endereco-content label {
    display: block;
    margin-top: 15px;
    font-weight: 600;
    color: #444;
}

.modal-endereco-content input[type="text"] {
    width: 100%;
    padding: 10px;
    margin-top: 6px;
    border: 1px solid #ccc;
    border-radius: 6px;
    font-size: 15px;
    transition: border-color 0.3s;
}

.modal-endereco-content input:focus {
    border-color: #6c63ff;
    outline: none;
}

.modal-endereco-content p[id$="Cadastro"] {
    color: red;
    font-size: 13px;
    margin-top: 5px;
}

.modal-endereco-buttons {
    margin-top: 25px;
    text-align: right;
}

.modal-endereco-buttons button {
    background-color: #4CAF50;
    color: white;
    padding: 10px 18px;
    font-size: 16px;
    border: none;
    border-radius: 6px;
    cursor: pointer;
    transition: background-color 0.3s ease;
}

.modal-endereco-buttons button:hover {
    background-color: #45a049;
}
.modal-endereco-content input[readonly] {
    background-color: #f9f9f9;
    cursor: not-allowed;
    color: #666;
}
