/* Loading */
.loading {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(255, 255, 255, 0.7);
    z-index: 9999;
    display: flex;
    align-items: center;
    justify-content: center;
}
.loading::after {
    content: '';
    width: 50px;
    height: 50px;
    border: 5px solid #ccc;
    border-top-color: #0d6efd;
    border-radius: 50%;
    animation: spin 0.8s linear infinite;
}
@keyframes spin {
    to { transform: rotate(360deg); }
}
.loading.hidden { display: none; }
.loading.show   { display: flex; }

/* Prévia do PDF */
.pdf-preview {
    width: 100%;
    height: 70vh;
    border: 1px solid #dee2e6;
    border-radius: .375rem;
    background: #f8f9fa;
}

/* Cabeçalho azul */
.card-header.bg-primary { color: #fff; }

/* Badges de status */
.badge-status-assinado  { background-color: #198754; }
.badge-status-pendente  { background-color: #ffc107; color: #212529; }

/* Botões cheios */
.btn-acao { min-width: 180px; }

/* ----------------------------------------------------------------------- */
/* Accordion de contratos com cor por status                               */
/* ----------------------------------------------------------------------- */
#accordionContratos .accordion-item {
    border: 1px solid #dee2e6;
    border-left-width: 5px;
    margin-bottom: 10px;
    border-radius: .375rem;
    overflow: hidden;
}

/* Pendente: vermelho */
#accordionContratos .item-pendente {
    border-left-color: #dc3545;
}
#accordionContratos .item-pendente .accordion-button {
    background-color: #f8d7da;
    color: #842029;
}
#accordionContratos .item-pendente .accordion-button:not(.collapsed) {
    background-color: #f5c2c7;
    color: #842029;
    box-shadow: inset 0 -1px 0 rgba(0,0,0,.08);
}

/* Assinado: verde */
#accordionContratos .item-assinado {
    border-left-color: #198754;
}
#accordionContratos .item-assinado .accordion-button {
    background-color: #d1e7dd;
    color: #0f5132;
}
#accordionContratos .item-assinado .accordion-button:not(.collapsed) {
    background-color: #badbcc;
    color: #0f5132;
    box-shadow: inset 0 -1px 0 rgba(0,0,0,.08);
}

/* Remove o azul padrão do foco do Bootstrap para não brigar com as cores de status */
#accordionContratos .accordion-button:focus {
    box-shadow: none;
}