/* style.css - Versión corregida para el formulario profesional */
body { 
    font-family: 'Segoe UI', Arial, sans-serif; 
    background-color: #f0f2f5; 
    display: flex; 
    justify-content: center; 
    padding: 20px; 
    margin: 0; 
}

.card { 
    background: white; 
    padding: 30px; 
    border-radius: 12px; 
    box-shadow: 0 4px 20px rgba(0,0,0,0.1); 
    width: 100%; 
    max-width: 600px; /* Lo ensanchamos para que entren mejor los inputs */
    text-align: center; 
}

.hidden { 
    display: none !important; /* Esto es lo que arregla que no se vea todo junto */
}

input, textarea, select { 
    width: 100%; 
    padding: 12px; 
    margin: 8px 0; 
    border: 1px solid #ccc; 
    border-radius: 6px; 
    box-sizing: border-box; 
    font-size: 15px; 
}

textarea { 
    height: 100px; 
    resize: vertical; 
}

button { 
    width: 100%; 
    padding: 15px; 
    background: #0056b3; 
    color: white; 
    border: none; 
    border-radius: 6px; 
    font-weight: bold; 
    cursor: pointer; 
    margin-top: 15px; 
    font-size: 16px; 
}

button:hover {
    background: #004494;
}

.btn-secundario { 
    background: #6c757d; 
    margin-top: 8px; 
}

.progress-bar { 
    background: #e9ecef; 
    height: 10px; 
    border-radius: 5px; 
    margin: 20px 0; 
}

#progress { 
    background: #0056b3; 
    height: 100%; 
    border-radius: 5px; 
    transition: 0.4s; 
}

label { 
    display: block; 
    text-align: left; 
    font-size: 13px; 
    color: #495057; 
    font-weight: bold; 
    margin-top: 15px; 
}

.upload-group {
    background: #f8f9fa;
    padding: 15px;
    border: 1px dashed #bbb;
    border-radius: 8px;
    margin-bottom: 15px;
    text-align: left;
}

.error { 
    color: #d9534f; 
    font-size: 14px; 
    margin-top: 10px; 
}

/* Notificaciones Inline */
#status-msg { padding: 15px; margin-bottom: 20px; border-radius: 8px; font-weight: bold; display: none; text-align: center; }
.status-success { background: #d4edda; color: #155724; border: 1px solid #c3e6cb; }
.status-error { background: #f8d7da; color: #721c24; border: 1px solid #f5c6cb; }

/* Modal de Confirmación */
.modal-overlay { position: fixed; top:0; left:0; width:100%; height:100%; background: rgba(0,0,0,0.6); display:flex; align-items:center; justify-content:center; z-index:2000; }
.modal-content { background: white; padding: 30px; border-radius: 12px; max-width: 450px; width: 90%; text-align: center; box-shadow: 0 10px 40px rgba(0,0,0,0.3); }