html,
body {
    background: #ecf0f1;
    color: #222;
}

header .btn-filtros, header .btn-filtros:not(.collapsed) {
    background-color: inherit;
    border: 0;
    box-shadow: none;
}

.navbar .nav .nav-item .nav-link {
    color: #545454;
    font-weight: bold;
}

.navbar .nav .nav-item .nav-link.active {
    color: #0c63e4;
    background-color: #e7f1ff;
}

.list-empresas .accordion-item .accordion-header .accordion-button {
    min-height: 120px;
}

.list-empresas .accordion-item .card-group .card h5 {
    font-weight: 300;
}

.list-empresas .accordion-item .card-group .card {
    border: 0;
    padding: 0.5rem !important;
    margin: 0;
}

.list-empresas .accordion-item .accordion-header div {
    padding: 0.25rem !important;
}

.list-empresas .accordion-item .accordion-body {
    min-height: 400px;
}

.list-empresas .accordion-header .accordion-button {
    padding-right: 1rem!important;
    padding-left: 0.5rem!important;
}

.list-empresas .accordion-header .er-nome h5 {
    margin-bottom: 5px !important;
}

.list-empresas  .accordion-header .nota {
    margin-right: 1rem;
    margin-bottom: 0;
}

.list-empresas .nota {
    text-align: center;

}

.list-empresas .nota h5 {
    font-weight: 700 !important;
}

.list-empresas .accordion-header .logo {
    width: 60px;
    max-height: 60px;
}

.list-empresas .accordion-header .logo.logo-placeholder {
    padding: 4px;
    background-color: #e9ecef;
    border-radius: 8px;
}

.list-empresas .accordion-header .posicao {
    min-width: 60px;
    text-align: center;
    font-size: calc(1.3rem + .6vw);
    line-height: 0;
}

.list-empresas .accordion-header .posicao .badge {
    color: #222;
    font-size: 0.75em;
    background-color: rgb(248,249,250);
}

.icon-active {
    background: url("../images/icons/check-circle.svg") no-repeat center center;
}

/* Cabeçalho fixo ao rolar a página (apenas em telas >= lg, evitando ocupar espaço no mobile) */
header.sticky-lg-top {
    z-index: 1020;
}

/* Filtros de setor como chips clicáveis */
.chip-setor {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    padding: 0.35rem 0.75rem;
    border: 1px solid #ced4da;
    border-radius: 999px;
    background-color: #fff;
    color: #545454;
    font-size: 0.85rem;
    cursor: pointer;
    user-select: none;
    transition: background-color 0.15s ease, border-color 0.15s ease, color 0.15s ease;
}

.chip-setor:hover {
    border-color: #0c63e4;
    color: #0c63e4;
}

.btn-check:checked + .chip-setor {
    background-color: #0c63e4;
    border-color: #0c63e4;
    color: #fff;
}

.chip-setor-count {
    font-size: 0.75em;
    opacity: 0.75;
}

/* Skeleton loading exibido enquanto os detalhes carregam via HTMX */
.skeleton-line {
    height: 0.9rem;
    border-radius: 4px;
    margin-bottom: 0.6rem;
    background: linear-gradient(90deg, #e9ecef 25%, #f1f3f5 37%, #e9ecef 63%);
    background-size: 400% 100%;
    animation: skeleton-loading 1.4s ease infinite;
}

@keyframes skeleton-loading {
    0% {
        background-position: 100% 50%;
    }
    100% {
        background-position: 0 50%;
    }
}
