/* Reset seguro */
*, *::before, *::after {
    box-sizing: border-box;
}

html, body {
    height: 100%;
}

body {
    margin: 0;
    font-family: 'Segoe UI', Roboto, sans-serif;
    font-size: 1rem; /* ~16px */
    line-height: 1.5;
    color: #333;
    background-color: #eef2f6;
    padding-top: var(--topbar-height, 40px);
}

/* Shell do app */
.app-shell {
    display: flex;
    min-height: 100vh;
}

.app-container {
    display: flex;
}

/* Área principal da home*/
.home-container {
    flex-grow: 1; /* ocupa todo espaço disponível */
    display: flex;
    align-items: center; /* centraliza verticalmente */
    justify-content: center; /* centraliza horizontalmente */
    min-height: calc(100vh - var(--topbar-height, 40px)); /* ocupa tela sem cobrir topbar */
    padding: 0; /* remove espaços extras */
}

.home-image {
    max-width: 100%;
    height: auto;
    object-fit: contain;
    /*border-radius: 12px;
    box-shadow: 0 4px 12px rgba(0,0,0,0.15);
    border: 2px solid #ddd;
    opacity: 0;*/ /* começa invisível */
    /*animation: fadeIn 1.2s ease forwards;*/ /* animação ao carregar */
    /*transition: all 0.3s ease;*/ /* suaviza hover */
}

/* Fade-in inicial */
@keyframes fadeIn {
    from {
        opacity: 0;
        transform: scale(0.98);
    }

    to {
        opacity: 1;
        transform: scale(1);
    }
}

/* Telas grandes (desktop) */
@media (min-width: 992px) {
    .home-image {
        max-height: 80vh; /* ocupa boa parte da tela */
    }
}

/* Telas médias (tablet) */
@media (min-width: 768px) and (max-width: 991px) {
    .home-image {
        max-height: 60vh; /* menor que no desktop */
    }
}

/* Telas pequenas (celulares) */
@media (max-width: 767px) {
    .home-image {
        max-height: 40vh; /* bem compacta */
    }
}

/* Sidebar */
.sidebar {
    height: 100vh;
    width: 220px;
    background-color: #ffffff;
    color: #333333;
    transition: width 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    padding: 12px;
    position: fixed;
    top: 0;
    left: 0;
    overflow-x: hidden;
    z-index: 1200 !important; /* Garante que ficará acima das tabelas, inputs e do cabeçalho fixo */
    box-shadow: 4px 0 10px rgba(0, 0, 0, 0.15); /* Adiciona uma sombra para criar profundidade visual sobre os cadastros */
    border-right: 1px solid #f0f0f2; /* Substitui sombras pesadas por uma linha divisória sutil */
    display: flex;
    flex-direction: column;
}

    .sidebar.collapsed {
        width: 0px; /* largura recolhida */
        min-width: 0px; /* garante que não fique estreita demais */
        padding: 0px 0px;
    }

    /* Links da Sidebar */
    .sidebar .nav-link {
        color: #4a5568 !important; /* Um tom de grafite mais suave que o preto puro */
        display: flex;
        align-items: center;
        padding: 10px 12px;
        border-radius: 8px; /* Cantos arredondados modernos */
        margin-bottom: 4px;
        font-weight: 500;
        font-size: 0.95rem;
        transition: all 0.2s ease;
    }

        /* Efeito Hover nos links - Visual "Clean" */
        .sidebar .nav-link:hover {
            background-color: #f7fafc; /* Fundo cinza extremamente claro */
            color: #0d6efd !important; /* Texto assume o azul principal do sistema */
        }

        /* Ícones dos Links */
        .sidebar .nav-link i {
            font-size: 1.2rem;
            margin-right: 12px;
            transition: margin 0.2s ease;
        }

    /* Centraliza os ícones quando a barra estiver colapsada */
    .sidebar.collapsed .nav-link {
        justify-content: center;
        padding: 10px 0;
    }

        .sidebar.collapsed .nav-link i {
            margin-right: 0;
        }

        .sidebar.collapsed .nav-link span,
        /*.sidebar.collapsed .submenu-toggle i.ms-auto {
            display: none;*/ /* Esconde o texto e a seta do submenu ao colapsar */
        }

.sidebar-nav {
    flex: 1;
    overflow-y: auto;
    scrollbar-gutter: stable; /* reserva espaço fixo para a barra */
}

    .sidebar-nav .nav {
        padding-left: 0 !important;
        margin-left: 0.6rem !important;
    }

/* Quando a sidebar NAO estiver collapsed, exibe textos e submenus em qualquer resolução */
.sidebar:not(.collapsed) .nav-link span,
.sidebar:not(.collapsed) .submenu-container.open {
    display: inline-block !important;
    opacity: 1 !important;
    visibility: visible !important;
}

/* Regra específica para mobile (telas até 768px) */
@media (max-width: 768px) {
    /* Garante largura total ou adequada para exibir os textos quando aberta */
    .sidebar:not(.collapsed) {
        width: 260px !important; /* ou 100vw para ocupar a tela toda */
        z-index: 1050;
        position: fixed;
        top: 56px; /* altura da topbar */
        left: 0;
        bottom: 0;
        /*background-color: #212529;*/ /* ajusta com o tema */
        overflow-y: auto;
    }

        /* Submenus visíveis e indentados no mobile */
        .sidebar:not(.collapsed) .submenu-container.open {
            display: block !important;
            padding-left: 15px;
        }

         /* Força o alinhamento à esquerda dos links quando aberta no mobile */
        .sidebar:not(.collapsed) .nav-link {
            justify-content: flex-start !important;
            padding: 10px 12px !important;
            text-align: left !important;
        }

            /* Restaura a margem à direita do ícone para afastar do texto */
            .sidebar:not(.collapsed) .nav-link i {
                margin-right: 12px !important;
            }
}

/* Camada invisível atrás do menu para capturar o clique fora */
.sidebar-backdrop {
    position: fixed;
    top: 0;
    left: 0;
    width: 100vw;
    height: 100vh;
    /* Deve ser menor que o z-index da .sidebar (1200), mas maior que os componentes da tela */
    z-index: 1150;
    /* background-color: rgba(0, 0, 0, 0.2); */ /* Descomente esta linha se quiser um efeito escurecido no fundo */
    background-color: transparent; /* Mantém o fundo idêntico, apenas captura o clique */
}

/* Botão toggle (Expandir/Recolher) */
.toggle-btn {
    margin-top: auto; /* Empurra o botão sempre para o final da sidebar */
    margin-bottom: 10px;
    width: 100%;
    padding: 10px 0;
    color: #718096 !important;
}

    .toggle-btn:hover {
        color: #0d6efd !important;
    }

/* Submenu estilo acordeão */
.submenu-container {
    max-height: 0;
    overflow: hidden;
    transition: max-height 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}

    .submenu-container.open {
        max-height: 600px;
    }

    .submenu-container.closed {
        max-height: 0;
    }

    /* Estilização sutil da árvore do Submenu interno */
    .submenu-container ul {
        border-left: 2px solid #edf2f7; /* Linha guia vertical sutil à esquerda */
        margin-left: 22px !important;
        padding-left: 8px;
    }

.sidebar-nav .nav-link {
    padding-left: 0.5rem !important; /* Reduz margem/padding da esquerda */
    padding-right: 0.5rem !important; /* Adiciona respiro na direita */
    white-space: normal !important; /* Permite quebrar linha se o texto for muito longo */
    word-break: break-word; /* Quebra palavras longas se necessário */
}

    /*.submenu-container .nav-link {
        font-size: 0.9rem;
        color: #718096 !important;*/ /* Submenu com tom um pouco mais discreto */
        /*padding: 6px 12px;
    }*/

        .submenu-container .nav-link:hover {
            color: #0d6efd !important;
            background-color: transparent; /* Remove o fundo no hover do submenu para ficar mais limpo */
        }

/* Área principal */
.main, .main-content {
    margin-left: 0px;
    transition: margin-left 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    flex: 1 1 auto;
    display: flex;
    flex-direction: column;
    min-width: 0;
    padding: 5px;
}

    .main.collapsed, .main-content.collapsed {
        margin-left: 0px;
    }

.content .container-fluid {
    padding-left: 2px !important;
    padding-right: 2px !important;
}

/* Responsividade */
@media (max-width: 768px) {
    .sidebar {
        width: 60px;
        padding: 8px 4px;
    }

        .sidebar .nav-link {
            padding: 10px 0;
            justify-content: center;
        }

            .sidebar .nav-link i {
                margin-right: 0;
            }

            .sidebar .nav-link span,
            .sidebar .submenu-toggle i.ms-auto,
            .submenu-container {
                display: none !important; /* Evita abertura de submenus no espaço reduzido do mobile */
            }

    .toggle-btn {
        display: none;
    }

    .main, .main-content {
        margin-left: 60px;
    }
}

/* Topbar */
.topbar {
    height: var(--topbar-height, 40px); /* reduz altura */
    background-color: #003366; /* azul escuro */
    /*background-color: #f5f7fa;*/
    border-bottom: 1px solid #ddd;
    display: flex;
    align-items: center;
    padding: 0 10px; /* menos espaço interno */
}

.topbar .btn {
    padding: 0.25rem 0.4rem; /* botões menores */
    font-size: 0.70rem; /* fonte menor */
}

.topbar-title {
    font-size: 1.5rem;
    font-weight: 600;
    color: #333;
}

/* Paginação do grid */
.pagination .btn {
    font-size: 0.75rem; /* fonte menor */
    padding: 0.25rem 0.5rem; /* altura/largura reduzida */
    line-height: 1.2;
}

.btn-nav {
    white-space: nowrap; /* impede quebra de linha */
    min-width: 70px; /* largura mínima só para Anterior/Próxima */
    text-align: center;
}

/* Conteúdo */
.content {
    flex: 1 1 auto;
    background-color: #eef2f6;
}

/* Cards */
.dashboard-card {
    border: none;
    border-radius: 12px;
    background-color: #fff;
    box-shadow: 0 4px 12px rgba(0,0,0,0.1);
    transition: transform 0.2s ease, box-shadow 0.2s ease;
    min-height: 240px;
}

    .dashboard-card:hover {
        transform: translateY(-4px);
        box-shadow: 0 8px 20px rgba(0,0,0,0.15);
    }

.card-title {
    font-size: 1.2rem;
    font-weight: 600;
}

.card-text {
    font-size: 1rem;
    color: #555;
}

.card-icon {
    font-size: 1.5rem;
}

/* Botões */
.btn {
    font-size: 1rem;
    padding: 0.6rem 1.2rem;
    border-radius: 8px;
    font-weight: 500;
    letter-spacing: 0.3px;
}

.btn-primary {
    background-color: #1976d2;
    border: none;
}

    .btn-primary:hover {
        background-color: #1565c0;
    }

.btn-outline-primary {
    color: #1976d2;
    border-color: #1976d2;
}

    .btn-outline-primary:hover {
        color: #fff;
        background-color: #1976d2;
        border-color: #1976d2;
    }

.btn-custom-sm {
    font-size: 0.75rem; /* reduz a fonte */
    padding: 0.20rem 0.4rem; /* ajusta altura e largura */
}

.btn-custom-sm i {
    font-size: 0.85rem; /* reduz o tamanho do ícone */
}

.input-quantidade {
    text-align: right; /* alinha valores à direita */
    max-width: 100px; /* limita largura do input */
}

.input-decimal {
    text-align: right; /* alinha números à direita */
    max-width: 100px; /* largura controlada */
    font-size: 0.9rem; /* fonte confortável */
    padding: 0.25rem 0.5rem; /* altura e largura equilibradas */
}

.btn-acao {
    min-width: 100px; /* largura mínima igual para todos */
    text-align: center; /* centraliza texto */
}

.col-acao-dois-botoes button {
    font-size: 0.85rem; /* fonte menor */
    padding: 0.35rem 0.55rem; /* reduz altura e largura */
    line-height: 1; /* evita botões altos */
    width: auto; /* não deixa ocupar largura total */
}

.col-acao-dois-botoes button i {
    font-size: 0.9rem; /* ícone proporcional ao botão */
}

/* Inputs e tabelas */
.form-label {
    font-size: 1rem;
}

.form-control {
    font-size: 1rem;
    border-radius: 8px;
    border: 1px solid #ccc;
    transition: border-color 0.2s ease, box-shadow 0.2s ease;
}

    .form-control:focus {
        border-color: #1976d2;
        box-shadow: 0 0 0 0.2rem rgba(25,118,210,0.25);
    }

.table th, .table td {
    font-size: 0.95rem;
}

.table-md thead {
    background-color: #e3f2fd;
}

    .table-md thead th {
        color: #0d47a1;
        font-weight: 600;
    }

/* Títulos */
h1, .h1 {
    font-size: 2rem;
    font-weight: 600;
}

h2, .h2 {
    font-size: 1.75rem;
    font-weight: 600;
}

h3, .h3 {
    font-size: 1.25rem;
    font-weight: 600;
}

h4, .h4 {
    font-size: 1rem;
    font-weight: 600;
}

h5, .h5 {
    font-size: 0.7rem;
    font-weight: 600;
}

/* Grid de botões */
/*.grid-botoes {
    display: flex;
    flex-wrap: wrap;
    grid-template-columns: repeat(6, 1fr);*/ /* 6 colunas */
    /*gap: 0.25rem;
    overflow-y: auto;
    max-height: 70vh;
    padding: 10px;
    justify-content: center;
}*/

.grid-botoes {
    display: flex;
    flex-wrap: wrap;
    gap: 0.1rem; /* espaço bem pequeno entre botões */
    justify-content: flex-start;
}

/* Botões individuais */
/*.btn-grid {
    padding: 0.25rem 0.5rem;*/ /* reduz altura */
    /*width: 80px;*/ /* largura menor */
    /*height: 70px;*/ /* altura menor */
    /*font-size: 0.8rem;*/ /* fonte inicial menor */
    /*display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    text-align: center;
    background-color: #f8f9fa;
    border: 2px solid #ccc;
    border-radius: 10px;
    cursor: pointer;
    transition: all 0.2s ease-in-out;
    margin: 2px;
}*/

.btn-grid {
    padding: 0.25rem 0.4rem; /* menos altura */
    font-size: 0.75rem; /* texto menor */
    width: 110px; /* mais largura */
    height: 55px; /* menos altura */
    display: flex;
    flex-direction: column; /* conteúdo lado a lado */
    align-items: center;
    justify-content: center;
    margin: 2px;
}

.btn-grid:hover {
    background-color: #e2e6ea;
    border-color: #007bff;
}

.btn-grid.selecionado {
    background-color: #007bff;
    color: white;
    border-color: #0056b3;
}

.btn-grid img {
    max-width: 60px;
    max-height: 50px;
    margin-right: 4px; /* imagem ao lado do texto */
}

/*.btn-grid img {
    max-width: 40px;
    max-height: 30px;
    margin-bottom: 8px;
}
*/
.btn-grid div {
    font-size: 1em;
    max-width: 100%;
    text-align: center;
    line-height: 1.2em;
    white-space: normal; /* permite quebra apenas entre palavras */
    word-break: keep-all; /* nunca quebra palavras */
}

.btn-grid.long-text {
    font-size: 0.6rem; /* texto ainda menor para nomes longos */
}

.texto-botao-semquebra {
    font-size: 0.78rem !important;
    line-height: 1.1 !important;
    word-break: keep-all !important;
}

/* Responsividade para telas menores */
@media (max-width: 1200px) {
    .grid-botoes {
        grid-template-columns: repeat(4, 1fr); /* 4 colunas em telas médias */
    }
}

@media (max-width: 768px) {
    .grid-botoes {
        grid-template-columns: repeat(2, 1fr); /* 2 colunas em tablets */
    }
}

@media (max-width: 480px) {
    .grid-botoes {
        grid-template-columns: 1fr; /* 1 coluna em celulares */
    }
}

.flex-equal {
    flex: 1 1 120px; /* todos ocupam espaço igual, mínimo de 120px */
    max-width: 120px; /* limite para não ficarem muito largos */
}

/*
Source - https://stackoverflow.com/a/78801883
Posted by Display name, modified by community. See post 'Timeline' for change history
Retrieved 2026-03-11, License - CC BY-SA 4.0
*/

.load-files-label {
    padding: 0.375rem 0.75rem;
    background-color: #f55442;
    color: white;
    border-radius: 0.25rem;
    cursor: pointer;
    margin: 0;
    display: inline-block;
    font-size: 1rem;
    line-height: 1.5;
}

/* Classe aplicada ao GridComponent */
.grid-small {
    max-height: 300px; /* altura máxima do grid */
    overflow-y: auto; /* ativa scroll vertical */
}

.grid-small table {
    font-size: 0.85rem;
    border-collapse: collapse;
    width: 100%;
    table-layout: fixed;
}

.grid-small thead,
.grid-small tbody {
    max-height: 300px; /* altura do corpo */
    overflow-y: auto; /* scroll vertical */
}

.grid-small thead tr {
    display: table;
    width: 100%;
    table-layout: fixed;
}

.grid-small tbody tr {
    display: table;
    width: 100%;
    table-layout: fixed;
}

.grid-small td,
.grid-small th {
    padding: 0.4rem 0.6rem;
    line-height: 1.2;
}

.grid-small table {
    table-layout: fixed; /* força largura consistente */
    width: 100%;
}

/* Força cor nos td dentro do tr */
.grid-small tr.row-emproducao td {
    background-color: #fff3cd !important;
}

.grid-small tr.row-entregue td {
    background-color: #d4edda !important;
}

.grid-small tr.row-cancelado td {
    background-color: #f8d7da !important;
}

.grid-small tr.row-emaberto td {
    background-color: #fce4d6 !important;
}

.grid-small tr.row-pago td {
    background-color: #e2f0d9 !important;
}

.grid-small tr.row-parcial td {
    background-color: #d6eaf8 !important;
}

/* Combinações */
.grid-small tr.row-emproducao-emaberto td {
    background-color: white !important;
}

.grid-small tr.row-entregue-emaberto td {
    background-color: yellow !important;
}

.grid-small tr.row-emproducao-pago td {
    background-color: deepskyblue !important;
}

.grid-small tr.row-entregue-pago td {
    background-color: lightgreen !important;
}

.grid-small tr.row-emproducao-pagoparcial td {
    background-color: bisque !important;
}

.grid-small tr.row-entregue-pagoparcial td {
    background-color: orange !important;
}

.grid-small tr.row-cancelado td {
    background-color: red !important;
}

.grid-small table {
    table-layout: fixed; /* força largura consistente */
    width: 100%;
}

/*.grid-small2 {
    max-height: 300px;*/ /* altura máxima */
    /*overflow-y: auto;*/ /* scroll vertical */
    /*overflow-x: auto;*/ /* scroll horizontal */
/*}

.grid-small2 table {
    table-layout: fixed;*/ /* força largura fixa */
    /*width: 50%;
}*/

.grid-small2,
.grid-small2 *,
.table-responsive {
    overflow-x: hidden !important;
}

/* 1. Força o contêiner principal a esconder qualquer vazamento horizontal */
.grid-small2 {
    max-height: 300px;
    overflow-y: auto !important;
    overflow-x: hidden !important;
}

/* 2. Alvo nas classes internas do MudBlazor / Blazor que causam o scroll */
.grid-small2 .mud-table-container,
.grid-small2 .mud-table-root,
.grid-small2 div {
    overflow-x: hidden !important;
}

/* 3. Força a tabela interna a respeitar os 100% de largura do Modal */
.grid-small2 table,
.grid-small2 .mud-table-element {
    table-layout: fixed !important;
    width: 100% !important;
    min-width: 100% !important;
    max-width: 100% !important;
}

/* 4. Garante que as células não estiquem a tabela para o lado */
.grid-small2 th,
.grid-small2 td {
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
}

/* Remove qualquer barra horizontal gerada por seletores internos ou divs da paginação */
.grid-small2,
.grid-small2 div,
.grid-small2 .table-responsive {
    overflow-x: hidden !important;
}

/* Garante que o container da tabela ocupe exatamente o espaço interno sem folgas de pixel */
.custom-fixed-table {
    table-layout: fixed !important;
    width: 100% !important;
    max-width: 100% !important;
}

.col-acao {
    width: 50px; /* força a coluna a encolher */
    white-space: nowrap; /* impede quebra de linha */
}

.col-acao-botao-grande {
    width: 120px;
    white-space: nowrap;
}

.col-acao-botao-grande2 {
    width: 180px;
    white-space: nowrap;
}

.col-acao-dois-botoes {
    width: 100px; /* força a coluna a encolher */
    white-space: nowrap; /* impede quebra de linha */
    text-align: center; /* centraliza os botões */
}

.col-numrol { width: 70px; }

.col-cliente {
    text-align: left !important;
    width: 300px; /* largura fixa */
    white-space: nowrap; /* não quebra linha */
    overflow: hidden; /* esconde excesso */
    text-overflow: ellipsis; /* mostra "..." */
}

.col-email {
    text-align: left !important;
    width: 300px; /* largura fixa */
    white-space: nowrap; /* não quebra linha */
    overflow: hidden; /* esconde excesso */
    text-overflow: ellipsis; /* mostra "..." */
}

.col-CPFCNPJ {
    width: 160px;
    text-align: center !important;
}

.col-itens { width: 70px; }

.col-data {
    width: 130px;
    text-align: center !important;
}
.col-hora {
    width: 130px;
    text-align: center !important;
}
.col-valor {
    width: 120px;
    text-align: right !important;
}
.col-situacao { width: 150px; }

.col-observacao {
    text-align: left !important;
    width: 500px; /* largura fixa */
    white-space: nowrap; /* não quebra linha */
    overflow: hidden; /* esconde excesso */
    text-overflow: ellipsis; /* mostra "..." */
}

.col-produto {
    text-align: left !important;
    width: 50px; /* largura fixa */
    white-space: nowrap; /* não quebra linha */
    overflow: hidden; /* esconde excesso */
    text-overflow: ellipsis; /* mostra "..." */
}

.col-preco { width: 100px; }

.col-nome {
    text-align: left !important;
    min-width: 150px; /* largura mínima confortável */
    white-space: nowrap; /* não quebra linha */
    overflow: hidden; /* esconde excesso */
    text-overflow: ellipsis; /* mostra "..." */
}

.col-imagem {
    width: 500px;
}

.overlay {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(255,255,255,0.7);
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    z-index: 9999;
}


.form-label {
    font-size: 0.85rem; /* diminui fonte do label */
    margin-bottom: 0.25rem; /* reduz espaço abaixo do label */
}

/*.form-control-sm, .form-select-sm {
    padding: 0.25rem 0.5rem;*/ /* inputs mais baixos */
/*}*/

.btn-sm {
    padding: 0.25rem 0.5rem; /* botão mais baixo */
}


.modal-header {
    padding: 0.4rem 0.8rem; /* reduz o espaço interno */
    min-height: 40px; /* altura mínima menor */
}

.modal-header h5 {
    font-size: 1rem; /* título mais compacto */
    margin: 0; /* remove margens extras */
}

.modal-footer {
    padding: 0.2rem 0.5rem; /* reduz o espaço interno */
    min-height: 25px; /* altura mínima menor */
}

/* Chrome, Safari, Edge, Opera */
input[type=number]::-webkit-inner-spin-button,
input[type=number]::-webkit-outer-spin-button {
    -webkit-appearance: none;
    margin: 0;
}

/* Firefox */
input[type=number] {
    -moz-appearance: textfield;
}

.custom-blue {
    background-color: #003366 !important; /* azul escuro */
}

.btn-3d {
    background: linear-gradient(#f8f9fa, #e0e0e0); /* gradiente claro */
    border: 1px solid #ccc;
    box-shadow: 2px 2px 5px rgba(0,0,0,0.3); /* sombra mais forte */
    transition: transform 0.1s ease-in-out;
}

.btn-3d:active {
    transform: translateY(2px); /* efeito de "pressionado" */
    box-shadow: 1px 1px 3px rgba(0,0,0,0.2);
}

/* Modais modernos */
.modal-content {
    border: none;
    border-radius: 12px;
    box-shadow: 0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 10px 10px -5px rgba(0, 0, 0, 0.04);
}

/* Força a tabela a obedecer rigidamente as larguras em % e não o tamanho do texto */
.custom-fixed-table {
    table-layout: fixed !important;
    width: 100% !important;
}

/* Garante o comportamento de truncar com reticências nas células com a classe do Bootstrap */
.custom-fixed-table td.text-truncate {
    max-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
