/* Estilos gerais */
body {
    font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
    background-color: #f8f9fa;
    color: #212529;
}

/* Estilizando o cabeçalho */
header {
    padding: 1.5rem 0;
}

/* Estilizando cards */
.card {
    box-shadow: 0 2px 5px rgba(0, 0, 0, 0.1);
    border-radius: 0.5rem;
    overflow: hidden;
}

.card-header {
    padding: 0.75rem 1.25rem;
}

/* Estilizando campos obrigatórios */
.form-label.required::after {
    content: " *";
    color: red;
}

/* Melhoria visual em elementos de formulário focados */
.form-control:focus, 
.form-select:focus, 
.form-check-input:focus {
    border-color: #86b7fe;
    box-shadow: 0 0 0 0.25rem rgba(13, 110, 253, 0.25);
}

/* Efeito hover em botões */
.btn:hover {
    transform: translateY(-1px);
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
}

/* Estilos para seção de anexos */
.alert-info {
    background-color: #e7f3ff;
    border-color: #b8daff;
    color: #004085;
}

.alert-info h6 {
    color: #004085;
    margin-bottom: 0.5rem;
}

.alert-info ul {
    margin-bottom: 0;
}

.alert-info li {
    margin-bottom: 0.25rem;
}

/* Estilo para inputs de arquivo */
input[type="file"] {
    padding: 0.5rem;
}

input[type="file"]:focus {
    border-color: #86b7fe;
    box-shadow: 0 0 0 0.25rem rgba(13, 110, 253, 0.25);
}

/* Feedback visual para arquivos válidos */
input[type="file"].is-valid {
    border-color: #198754;
}

input[type="file"].is-invalid {
    border-color: #dc3545;
}

/* Texto de ajuda para arquivos */
.form-text {
    font-size: 0.875rem;
    color: #6c757d;
}

/* Estilos responsivos */
@media (max-width: 768px) {
    .card-body {
        padding: 1rem;
    }
    
    .row > div {
        margin-bottom: 1rem;
    }
}
