body {
    background: linear-gradient(to right, #e0f7fa, #e8f5e9); /* Degradê verde pastel suave */
}

.caixa {
    background-color: #ffffff;
    border-radius: 8px;
    box-shadow: 0 0 10px rgba(0, 0, 0, 0.1);
    padding: 20px;
    margin-top: 30px;
}

.form-label {
    font-weight: bold;
}

.table th, .table td {
    vertical-align: middle;
    text-transform: uppercase;
}

.table thead th {
    background-color: #e9ecef;
}

#barra-pesquisar {
    margin-top: 20px;
}

#tabela-t {
    margin-top: 20px;
}

#botao-imprimir {
    margin-top: 20px;
}

/* --- Ajustes para Responsividade (Mobile) --- */
@media (max-width: 575.98px) { /* Para telas extra pequenas (celulares) */
    .caixa {
        padding: 15px; /* Reduz o padding em telas muito pequenas */
        margin-top: 15px; /* Reduz a margem superior */
    }

    .col-md-6, .col-md-12, .col-md-4 {
        padding-left: 5px; /* Ajusta o padding horizontal das colunas */
        padding-right: 5px;
    }

    .form-select, .form-control, .btn {
        font-size: 0.9rem; /* Reduz um pouco o tamanho da fonte para elementos de formulário e botões */
    }

    .btn {
        width: 100%; /* Botões ocupam a largura total em telas pequenas */
        margin-bottom: 10px; /* Adiciona margem entre botões empilhados */
    }

    .text-end.mb-4 {
        text-align: center !important; /* Centraliza botões em telas pequenas */
    }

    #barra-pesquisar .input-group-text {
        font-size: 0.9rem;
    }

    #main-title {
        font-size: 1.5rem; /* Ajusta o tamanho do título principal */
    }

    #printable-header h2 {
        font-size: 1.2rem;
    }

    #printable-header p {
        font-size: 0.9rem;
    }
}