.navbar {
    background-color: #212529;
    padding: 0.5rem 1rem;
    border-bottom: 1px solid #dee2e6;
    height: 65px;
}

.navbar-logo {
    height: 50px;
    opacity: 0.9;
    transition: opacity 0.3s;
}

.table {
    margin-top: 10px;
    border-radius: 5px;
    overflow: hidden;
}

.table-thead-custom {
    background-color: #343a40 !important;
    color: #fff !important;
}

.table-thead-custom th {
    background-color: #343a40 !important;
    color: #fff !important;
}

.card-header {
    background-color: #343a40 !important;
    color: #fff !important;
}

/* Estilos para submenu no sidebar */
.nav-link[data-bs-toggle="collapse"] {
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.nav-link[data-bs-toggle="collapse"] i.bi-chevron-down {
    transition: transform 0.3s ease;
    font-size: 0.8rem;
}

.nav-link[data-bs-toggle="collapse"]:not(.collapsed) i.bi-chevron-down {
    transform: rotate(180deg);
}

.collapse .list-unstyled {
    background-color: rgba(0, 0, 0, 0.1);
    border-radius: 0.25rem;
    padding-top: 0.5rem;
    padding-bottom: 0.5rem;
}

.collapse .nav-link {
    padding: 0.4rem 0.5rem;
    font-size: 0.95rem;
}

.collapse .nav-link:hover {
    background-color: rgba(255, 255, 255, 0.1);
    border-radius: 0.25rem;
}

/* Tabela responsiva sem quebra de linha */
.table-responsive {
    overflow-x: auto;
    -webkit-overflow-scrolling: touch; /* Scroll suave no iOS */
}

.table-no-wrap {
    white-space: nowrap;
}

.table-no-wrap td,
.table-no-wrap th {
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    max-width: 300px; /* Largura máxima antes de truncar */
}

/* Células específicas com larguras máximas menores */
.table-no-wrap td:nth-child(1),
.table-no-wrap th:nth-child(1) {
    max-width: 60px; /* # (ID) */
}

.table-no-wrap td:nth-child(2),
.table-no-wrap th:nth-child(2) {
    max-width: 200px; /* Recuperanda */
}

.table-no-wrap td:nth-child(3),
.table-no-wrap th:nth-child(3) {
    max-width: 100px; /* Tipo */
}

.table-no-wrap td:nth-child(4),
.table-no-wrap th:nth-child(4) {
    max-width: 150px; /* Grupo */
}

.table-no-wrap td:nth-child(5),
.table-no-wrap th:nth-child(5) {
    max-width: 150px; /* Subgrupo */
}

.table-no-wrap td:nth-child(6),
.table-no-wrap th:nth-child(6) {
    max-width: 250px; /* Conta Contábil */
}

.table-no-wrap td:nth-child(7),
.table-no-wrap th:nth-child(7) {
    max-width: 300px; /* Descrição */
}

/* Mostrar texto completo no hover */
.table-no-wrap td:hover,
.table-no-wrap th:hover {
    overflow: visible;
    white-space: normal;
    position: relative;
    z-index: 10;
}