
/* Configurações do Quill */
.ql-size-small {
    font-size: 10px; /* Tamanho pequeno */
}

.ql-size-large {
    font-size: 24px; /* Tamanho grande */
}

.ql-size-huge {
    font-size: 36px; /* Tamanho enorme */
}

/* Thumbnails de Imagens */
#thumbnailsContainer img {
    width: 100px;
    height: auto;
    padding: 5px;
    border: 1px solid #ddd;
    box-shadow: 2px 2px 5px rgba(0,0,0,0.2);
    transition: transform 0.3s ease;
}

#thumbnailsContainer img:hover {
    transform: scale(1.1);
}

/* Estilo para o contêiner do Popup */
.banner-popup-container {
    display: flex;
    justify-content: center; /* Centraliza horizontalmente */
    align-items: center; /* Centraliza verticalmente */
    position: fixed;
    top: 0;
    left: 0;
    width: 100vw; /* 100% da largura da viewport */
    height: 100vh; /* 100% da altura da viewport */
    background-color: rgba(0, 0, 0, 0.4); /* Fundo semi-transparente */
    z-index: 9999; /* Z-index elevado para ficar no topo */
    overflow-y: auto; /* Habilita scroll dentro do popup se necessário */
}
  
/* Estilo do Popup */
.banner-popup {
    position: absolute;
    background-color: #fefefe;
    padding: 20px;
    border: 1px solid #888;
    z-index: 10000; /* Garante que o popup fique acima do fundo semi-transparente */
    box-shadow: 0 4px 8px rgba(0,0,0,0.2); /* Opcional: sombra para o popup */
}

.banner-popup img {
    margin-top: 30px; /* Aumenta o espaço no topo */
}

/* CSS para bloquear o scroll do body */
.no-scroll {
    overflow: hidden;
}

.bannerPublicidade {
    cursor: pointer; /* Muda o cursor para indicar que é clicável */
}

/* Botão para fechar o Popup */
.close-button {
    position: absolute; /* Posicionamento absoluto para o botão */
    top: 2px; /* Ajuste conforme necessário */
    right: 10px; /* Ajuste conforme necessário */
    color: #aaa;
    float: right;
    font-size: 34px;
    font-weight: bold;
}

.close-button:hover,
.close-button:focus {
    color: black;
    text-decoration: none;
    cursor: pointer;
}

/* Estilo para telas menores (Menor que 750px de largura) */
@media (max-width: 750px) {
    .banner-popup-container {
        align-items: flex-start; /* Alinha o conteúdo no início do container (parte superior) */
        padding-top: 80px; /* Adiciona um pouco de espaço no topo do container */
    }

    .banner-popup {
        margin-top: 20px; /* Remove qualquer margem superior do popup */
    }

    .banner-popup img {
        margin-top: 30px; /* Ajuste o espaço acima da imagem se necessário */
    }
}


/* Estilo para os cards da dashboard */
.hover-card {
    transition: transform 0.3s ease, box-shadow 0.3s ease;
}
  
.hover-card:hover {
    transform: translateY(-5px);
    box-shadow: 0px 8px 15px rgba(0, 0, 0, 0.2);
}


/* Aumenta tamanho da tabela */
.tabela-maior table {
    min-width: 1920px; /* Ajuste este valor conforme necessário */
}

.icon-wrapper {
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
}
  
.card-title {
    font-size: 1.2rem;
    font-weight: 600;
}

/* Estilo para múltiplos frete na tela de Embarque/Abate */
.blocos-embarque-abate {
    animation: slideDown 0.3s ease-out;
    border: 1px solid #ddd;
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
    margin-bottom: 20px; /* Espaço entre os blocos */
    padding: 5px;
}

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

/* Estilo para múltiplos itens na tela de Borderô */
.blocos-itens-bordero {
    animation: slideDown 0.3s ease-out;
    border: 1px solid #ddd;
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
    margin-bottom: 20px; /* Espaço entre os blocos */
    padding: 5px;
}

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

/* Estilo para múltiplos itens na tela de Romaneios */
.blocos-itens {
    animation: slideDown 0.3s ease-out;
    border: 1px solid #ddd;
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
    margin-bottom: 20px; /* Espaço entre os blocos */
    padding: 5px;
}

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


/* INÍCIO - Estilos para o Accordion tela de conferência */
body {
background-color: #f5f7fb;
}

.accordion-container {
max-width: 900px;
margin: 2rem auto;
padding: 0 15px;
}

.page-title {
margin-bottom: 1.5rem;
color: #1e293b;
text-align: center;
font-weight: 600;
}

.accordion {
box-shadow: 0 4px 20px rgba(0, 0, 0, 0.08);
border-radius: 10px;
overflow: hidden;
}

.accordion-item {
border: none;
margin-bottom: 3px;
background: white;
transition: all 0.3s ease;
}

.accordion-item:hover {
transform: translateY(-2px);
}

.accordion-button {
padding: 1.2rem 1.5rem;
background: linear-gradient(to right, #f8fafc, #ffffff);
border-left: 5px solid transparent;
transition: all 0.3s ease;
}

.accordion-button:not(.collapsed) {
background: linear-gradient(to right, #ecf4ff, #ffffff);
border-left: 5px solid #3b82f6;
box-shadow: 0 5px 15px rgba(0, 0, 0, 0.05);
}

.accordion-button:hover {
background: linear-gradient(to right, #f0f9ff, #ffffff);
}

/* Remove a seta do accordion */
.accordion-button.no-arrow::after {
display: none !important;
}

/* Estilo normal da seta (se quiser manter em algum accordion) */
.accordion-button::after {
background-size: 1.2rem;
transition: all 0.3s ease;
}

/* Novo container para agrupar o título e a data */
.accordion-title-container {
display: flex;
align-items: center;
gap: 12px;
}

.accordion-header-content {
display: flex;
align-items: center;
justify-content: space-between;
width: 100%;
}

.accordion-title {
font-size: 1.1rem;
font-weight: 600;
color: #334155;
margin-right: 0; /* Removido o margin-right pois agora está dentro do container */
}

.accordion-status-info {
display: flex;
align-items: center;
gap: 12px;
}

.date-container {
display: flex;
align-items: center;
background-color: #f8fafc;
padding: 4px 10px; /* Reduzido o padding para ficar mais compacto */
border-radius: 6px;
border: 1px solid #e2e8f0;
}

.date-icon {
color: #64748b;
margin-right: 6px;
}

.date-info {
font-size: 0.85rem;
color: #475569;
font-weight: 500;
}

.status-badge {
padding: 7px 14px;
border-radius: 6px;
font-weight: 600;
font-size: 0.85rem;
box-shadow: 0 2px 5px rgba(0, 0, 0, 0.08);
display: flex;
align-items: center;
gap: 5px;
}

.badge-icon {
font-size: 0.75rem;
}

.badge-green {
background: linear-gradient(135deg, #10b981, #059669);
color: white;
}

.badge-yellow {
background: linear-gradient(135deg, #fbbf24, #d97706);
color: white;
}

.badge-red {
background: linear-gradient(135deg, #ef4444, #b91c1c);
color: white;
}

.accordion-body {
padding: 1.5rem;
background-color: #ffffff;
border-top: 1px solid #f1f5f9;
}

.verification-details {
display: grid;
grid-template-columns: repeat(auto-fill, minmax(250px, 1fr));
gap: 20px;
margin-top: 15px;
}

.detail-card {
background-color: #f8fafc;
border-radius: 8px;
padding: 15px;
border: 1px solid #e2e8f0;
}

.detail-header {
font-weight: 600;
color: #334155;
margin-bottom: 8px;
display: flex;
align-items: center;
gap: 6px;
}

.detail-content {
color: #475569;
font-size: 0.95rem;
}

/* Animation classes */
.fade-in {
animation: fadeIn 0.4s ease-in;
}

@keyframes fadeIn {
from {
    opacity: 0;
    transform: translateY(10px);
}
to {
    opacity: 1;
    transform: translateY(0);
}
}

/* Classe de animação do Animate.css (opcional, se não quiser adicionar a biblioteca) */
.animate__animated {
    animation-duration: 1s;
    animation-fill-mode: both;
}

.animate__fadeIn {
    animation-name: fadeIn;
}

/* Estilos específicos para as Tabs */
.tabs-container {
    margin-top: 15px;
}
  
.nav-tabs {
    border-bottom: 2px solid #e2e8f0;
    display: flex;
    overflow-x: auto;
    gap: 5px;
    padding-bottom: 1px;
}
  
.nav-tabs .nav-link {
    margin-bottom: -2px;
    border: none;
    color: #64748b;
    font-weight: 500;
    padding: 0.8rem 1.2rem;
    transition: all 0.3s ease;
    border-bottom: 2px solid transparent;
    border-radius: 0;
    white-space: nowrap;
}

.nav-tabs .nav-link:hover {
    color: #3b82f6;
    border-color: transparent;
    background-color: rgba(59, 130, 246, 0.05);
}

.nav-tabs .nav-link.active {
    color: #3b82f6;
    background-color: transparent;
    border-bottom: 2px solid #3b82f6;
    font-weight: 600;
}

.tab-content {
    padding: 1.5rem 0;
}

.tab-pane {
    padding: 0.5rem;
}

/* Botão de Assinatura Digital */
.signature-container {
    display: flex;
    justify-content: flex-end;
    margin-top: 15px;
    padding-top: 15px;
    border-top: 1px solid #e2e8f0;
}

.btn-signature {
    display: flex;
    align-items: center;
    gap: 6px;
    background: linear-gradient(135deg, #3b82f6, #2563eb);
    color: white;
    border: none;
    border-radius: 6px;
    padding: 0.6rem 1.2rem;
    font-weight: 500;
    box-shadow: 0 2px 5px rgba(37, 99, 235, 0.2);
    transition: all 0.3s ease;
}

.btn-signature:hover {
    transform: translateY(-2px);
    box-shadow: 0 4px 12px rgba(37, 99, 235, 0.25);
    background: linear-gradient(135deg, #2563eb, #1d4ed8);
}

.btn-signature:active {
    transform: translateY(0);
}

.nav-link.disabled-with-icon {
    color: #9ca3af !important;
    cursor: not-allowed;
    opacity: 0.75;
    pointer-events: none;
    display: flex;
    align-items: center;
}

.icon-lock {
    color: #9ca3af;
}

.comment-container {
    background-color: #f8fafc;
    padding: 15px;
    border-radius: 8px;
    border: 1px solid #e2e8f0;
}

.comment-container .form-label {
    color: #334155;
}

.comment-container textarea.form-control {
    border: 1px solid #e2e8f0;
    transition: border-color 0.3s ease, box-shadow 0.3s ease;
}

.comment-container textarea.form-control:focus {
    border-color: #3b82f6;
    box-shadow: 0 0 0 0.2rem rgba(59, 130, 246, 0.1);
}

/* Estilos para mensagem de usuário não habilitado */
.unauthorized-message {
display: flex;
justify-content: center;
padding: 2.5rem 1rem;
}

.unauthorized-container {
max-width: 560px;
text-align: center;
background-color: #f8fafc;
border-radius: 10px;
padding: 2rem;
box-shadow: 0 5px 15px rgba(0, 0, 0, 0.05);
border: 1px solid #e2e8f0;
animation: fadeIn 0.5s ease-in-out;
}

.unauthorized-icon {
display: flex;
justify-content: center;
margin-bottom: 1.25rem;
}

.unauthorized-icon svg {
color: #f59e0b;
opacity: 0.9;
}

.unauthorized-title {
color: #334155;
font-size: 1.25rem;
font-weight: 600;
margin-bottom: 0.75rem;
}

.unauthorized-text {
color: #475569;
font-size: 1rem;
margin-bottom: 0.5rem;
}

.unauthorized-subtext {
color: #64748b;
font-size: 0.875rem;
}

@keyframes fadeIn {
from {
    opacity: 0;
    transform: translateY(10px);
}
to {
    opacity: 1;
    transform: translateY(0);
}
}
  
/* FIM - Estilos para o Accordion tela de conferência */

/* Estilo para accordion da Listagemd e Abate vindo do FrigoData */
.accordion-button {
    font-weight: 500;
}

.accordion-button:not(.collapsed) {
    background-color: #f8f9fa;
    border-color: #dee2e6;
}

/* Estilo para tabelas dentro do accordion */
.accordion-body .table {
    margin-bottom: 0;
}

.accordion-body .table th {
    background-color: #f8f9fa;
    border-bottom: 2px solid #dee2e6;
    font-weight: 600;
    font-size: 0.875rem;
}

.accordion-body .table td {
    vertical-align: middle;
    font-size: 0.875rem;
}

/* Destaque para registros não lançados */
.table-warning {
    background-color: #fff3cd !important;
}

.table-warning td {
    border-color: #ffeaa7;
}

/* Estilo para badges */
.badge {
    font-size: 0.75rem;
    font-weight: 500;
}

/* Estilo para checkboxes */
.form-check-input {
    width: 1.125rem;
    height: 1.125rem;
}

/* Estilo para spinner nos botões */
.spinner-border-sm {
    width: 0.875rem;
    height: 0.875rem;
}

/* Responsividade para cards de resumo */
@media (max-width: 768px) {
    .row-deck .col-sm-6:nth-child(n+3) {
        margin-top: 1rem;
    }
}

/* Estilo para botões de ação */
.btn-group-actions {
    gap: 0.5rem;
}

.btn-group-actions .btn {
    white-space: nowrap;
}

/* Estilo para empty state */
.empty {
    padding: 3rem 1rem;
}

.empty-img img {
    opacity: 0.8;
}

/* Animação para acordeon */
.accordion-collapse {
    transition: all 0.3s ease;
}

/* Estilo para cabeçalho do acordeon */
.accordion-header .badge {
    font-size: 0.7rem;
    padding: 0.25rem 0.5rem;
}

/* Hover effects */
.accordion-button:hover {
    background-color: #e9ecef;
}

.btn:disabled {
    opacity: 0.65;
    cursor: not-allowed;
}

/* Loading state */
.btn .spinner-border {
    vertical-align: text-bottom;
}

/* Estilo para indicadores de status */
.status-indicator {
    width: 8px;
    height: 8px;
    border-radius: 50%;
    display: inline-block;
    margin-right: 0.5rem;
}

.status-indicator.success {
    background-color: #28a745;
}

.status-indicator.warning {
    background-color: #ffc107;
}

.status-indicator.danger {
    background-color: #dc3545;
}