/* NEXUS STATISTIC - Estilos Padronizados para Formulários
-------------------------------------------------- */

/* Estilos para campos condicionais */
.dono-field, .carceragem-field, .registro-interno-field, .bo-field {
    display: none;
}

.active-field {
    display: block !important;
}

/* Estilos para grupos de formulários */
.form-group label {
    font-weight: 500;
    margin-bottom: 0.3rem;
    color: var(--secondary-gray-dark, #495057);
    font-size: 0.95rem;
}

.form-text {
    font-size: 0.8rem;
    color: var(--secondary-gray, #6c757d);
}

/* Campos de formulário mais leves */
.form-control {
    border: 1px solid #e0e0e0;
    border-radius: 8px;
    padding: 0.6rem 0.8rem;
    box-shadow: none;
    transition: all 0.25s ease;
}

.form-control:focus {
    border-color: var(--primary-blue, #2c5aa0);
    box-shadow: 0 0 0 0.2rem rgba(44, 90, 160, 0.15);
}

/* Seções do formulário com visual mais leve */
.form-section {
    background-color: #ffffff;
    padding: 1.5rem;
    border-radius: 12px;
    margin-bottom: 1.5rem;
    box-shadow: 0 2px 8px rgba(0,0,0,0.03);
    border: 1px solid #f0f0f0;
    transition: all 0.3s ease;
}

.form-section:hover {
    box-shadow: 0 4px 12px rgba(0,0,0,0.05);
    transform: translateY(-1px);
}

.form-section h5 {
    color: var(--primary-blue, #2c5aa0);
    margin-bottom: 1.2rem;
    padding-bottom: 0.7rem;
    border-bottom: 1px solid #eceff1;
    font-weight: 500;
    display: flex;
    align-items: center;
}

.form-section h5 i {
    margin-right: 0.8rem;
    color: var(--primary-blue, #2c5aa0);
    font-size: 1.1rem;
}

/* Estilo para campos obrigatórios */
.required-field label::after {
    content: " *";
    color: var(--danger-red, #dc3545);
    font-weight: normal;
}

/* Classe para asteriscos vermelhos */
.asterisk-red {
    color: #dc3545 !important;
    font-weight: bold;
}

/* Card moderno para o formulário com visual mais leve */
.form-card {
    border-radius: 15px;
    overflow: hidden;
    border: none;
    box-shadow: 0 5px 15px rgba(0,0,0,0.05);
    transition: all 0.3s ease;
}

.form-card:hover {
    box-shadow: 0 8px 20px rgba(0,0,0,0.08);
}

.form-card-header {
    background: var(--primary-blue, #2c5aa0);
    color: white;
    padding: 1.2rem 1.5rem;
    border-bottom: none;
}

.form-card-header h6 {
    margin: 0;
    font-weight: 500;
    font-size: 1.1rem;
    letter-spacing: 0.01em;
    color: white;
}

/* Cabeçalho da página mais leve */
.page-header {
    background: linear-gradient(135deg, #fff, #f9f9f9);
    border-radius: 10px;
    padding: 1.2rem 1.5rem;
    margin-bottom: 1.5rem;
    box-shadow: 0 2px 6px rgba(0, 0, 0, 0.03);
    border-left: 3px solid var(--primary-blue, #2c5aa0);
}

.page-header h1 {
    color: var(--secondary-gray-dark, #495057);
    margin: 0;
    font-weight: 500;
    font-size: 1.4rem;
}

/* Barra de progresso estilizada mais leve */
.progress {
    height: 5px;
    border-radius: 2.5px;
    overflow: hidden;
    background-color: #f0f0f0;
    margin-bottom: 1.5rem;
    box-shadow: none;
}

.progress-bar {
    border-radius: 2.5px;
    background: var(--primary-blue, #2c5aa0);
    transition: width 0.5s ease;
}

/* Botões estilizados */
.btn-primary {
    background: var(--primary-blue, #2c5aa0);
    border: none;
    box-shadow: 0 3px 5px rgba(0,0,0,0.1);
    font-weight: 500;
    padding: 0.5rem 1.5rem;
    transition: all 0.3s ease;
}

.btn-primary:hover {
    background: var(--primary-blue-dark, #1e3d6f);
    transform: translateY(-2px);
    box-shadow: 0 5px 10px rgba(0,0,0,0.15);
}

.btn-secondary {
    background-color: #f5f5f5;
    color: #555;
    border: 1px solid #ddd;
    font-weight: 500;
    padding: 0.5rem 1.5rem;
    transition: all 0.3s ease;
}

.btn-secondary:hover {
    background-color: #eee;
    color: #333;
    transform: translateY(-2px);
}

/* Mensagens de erro */
.error-feedback {
    width: 100%;
    margin-top: 0.25rem;
    font-size: 80%;
    color: #dc3545;
}

.invalid-field {
    border-color: #dc3545 !important;
}

.is-valid {
    border-color: var(--success-green, #28a745) !important;
}

/* Detalhes de visualização */
.valor-campo {
    font-weight: normal;
    margin-bottom: 1rem;
}

.label-campo {
    font-weight: bold;
    margin-bottom: 0.25rem;
    color: var(--secondary-gray-dark, #495057);
}

/* Melhorias em cartões de detalhe */
.card-header {
    background: var(--primary-blue, #2c5aa0);
    color: white;
}

.card-header h6 {
    color: white !important;
}

/* Botões de ação */
.btn-danger {
    background: var(--danger-red, #dc3545);
    border: none;
}

.btn-danger:hover {
    background: #c82333;
    transform: translateY(-2px);
}

.btn-warning {
    background: var(--warning-yellow, #ffc107);
    border: none;
    color: var(--dark-gray, #333);
}

.btn-warning:hover {
    background: #e0a800;
    transform: translateY(-2px);
    color: var(--dark-gray, #333);
}

/* Espaçamento entre linhas do formulário */
.row + .row {
    margin-top: 0.8rem;
} 